pginterface.3
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. ." This is -*-nroff-*-
  2. ." XXX standard disclaimer belongs here....
  3. ." $Header: /usr/local/cvsroot/pgsql/contrib/pginterface/pginterface.3,v 1.1 1998/09/11 05:14:08 momjian Exp $
  4. .TH PGINTERFACE INTRO 08/08/98 PostgreSQL PostgreSQL
  5. .SH DESCRIPTION
  6. Pginterface allows you to cleanly interface to the libpq library,
  7. more like a 4gl SQL interface.
  8. .PP
  9. It consists of set of simplified C functions that encapsulate the
  10. functionality of libpq.
  11. The functions are:
  12. .nf
  13. PGresult   *doquery(char *query);
  14. PGconn     *connectdb();
  15. void        disconnectdb();
  16. int         fetch(void *param,...);
  17. int         fetchwithnulls(void *param,...);
  18. void        reset_fetch();
  19. void        on_error_continue();
  20. void        on_error_stop();
  21. PGresult   *get_result();
  22. void        set_result(PGresult *newres);
  23. void        unset_result(PGresult *oldres);
  24. .fi
  25. .PP
  26. Many functions return a structure or value, so you can do more work
  27. with the result if required.  
  28. .PP
  29. You basically connect to the database with
  30. .BR connectdb ,
  31. issue your query with
  32. .BR doquery ,
  33. fetch the results with
  34. .BR fetch ,
  35. and finish with
  36. .BR disconnectdb .
  37. .PP
  38. For
  39. .IR select
  40. queries,
  41. .BR fetch 
  42. allows you to pass pointers as parameters, and on return the variables
  43. are filled with data from the binary cursor you opened.  These binary
  44. cursors can not be used if you are running the
  45. .BR pginterface
  46. client on a system with a different architecture than the database
  47. server.  If you pass a NULL pointer parameter, the column is skipped.
  48. .BR fetchwithnulls
  49. allows you to retieve the
  50. .IR null
  51. status of the field by passing an
  52. .IR int*
  53. after each result pointer, which returns true or false if the field is null.
  54. You can always use libpq functions on the PGresult pointer returned by
  55. .BR doquery .
  56. .BR reset_fetch
  57. starts the fetch back at the beginning.
  58. .PP
  59. .BR get_result ,
  60. .BR set_result ,
  61. and
  62. .BR unset_result
  63. allow you to handle multiple result sets at the same time.
  64. .PP
  65. There are a variety of demonstration programs in the
  66. .BR pginterface
  67. source directory.