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

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * pgconnection.h
  4.  *    
  5.  *
  6.  *   DESCRIPTION
  7.  * Postgres Connection Class: 
  8.  *    Manage Postgres backend connection
  9.  *
  10.  *   NOTES
  11.  *      Currently under construction.
  12.  *
  13.  * Copyright (c) 1994, Regents of the University of California
  14.  * 
  15.  * $Id: pgconnection.h,v 1.2 1999/05/23 01:04:00 momjian Exp $
  16.  *
  17.  *-------------------------------------------------------------------------
  18.  */
  19.  
  20. #ifndef PGCONN_H
  21. #define PGCONN_H
  22. #include <stdio.h>
  23. #include <string>
  24. extern "C" {
  25. #include "libpq-fe.h"
  26. }
  27. // ****************************************************************
  28. //
  29. // PgConnection - a connection made to a postgres backend
  30. //
  31. // ****************************************************************
  32. // This class contains all the information about the connection
  33. // to the backend process.  All the database classes should be
  34. // derived from this class to obtain the connection interface.
  35. class PgConnection {
  36. protected:
  37.   PGconn* pgConn; // Connection Structures
  38.   PGresult* pgResult; // Query Result
  39.   int pgCloseConnection; // Flag indicating whether the connection should be closed or not
  40.   
  41. public:
  42.    PgConnection(const char* conninfo);  // use reasonable & environment defaults
  43.    ~PgConnection();  // close connection and clean up
  44.    
  45.    // Connection status and error messages
  46.    ConnStatusType Status();
  47.    int ConnectionBad();
  48.    const char* ErrorMessage();
  49.   
  50.    // returns the database name of the connection
  51.    const char* DBName();
  52.    // Query Execution interface
  53.    ExecStatusType Exec(const char* query);  // send a query to the backend
  54.    int ExecCommandOk(const char* query);    // send a command and check if it's OK
  55.    int ExecTuplesOk(const char* query);     // send a command and check if tuples are returned
  56.    PGnotify* Notifies();
  57.     
  58. protected:
  59.    ConnStatusType Connect(const char* conninfo);
  60.    string IntToString(int);
  61.    
  62. protected:
  63.    PgConnection();
  64. };
  65. #endif // PGCONN_H