⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libpq++.h

📁 关系型数据库 Postgresql 6.5.2
💻 H
字号:
/*------------------------------------------------------------------------- * * libpq++.H *     * *   DESCRIPTION *	C++ client interface to Postgres *   used for building front-end applications * *   NOTES *      Currently under construction. * * Copyright (c) 1994, Regents of the University of California * * *------------------------------------------------------------------------- */#ifndef LIBPQXX_H#define LIBPQXX_H#include <stdio.h>#include <strings.h>#include <string>extern "C" {#include "config.h"#include "postgres.h"#include "libpq-fe.h"}static char rcsid[] = "$Id: libpq++.H,v 1.4 1999/05/23 01:03:58 momjian Exp $";// ****************************************************************//// PgConnection - a connection made to a postgres backend//// ****************************************************************class PgConnection {protected:  PGconn* pgConn;	// Connection Structures  PGresult* pgResult;	// Query Result  int pgCloseConnection; // Flag indicating whether the connection should be closed  ConnStatusType Connect(const char* conninfo);  string IntToString(int);  PgConnection();  public:  PgConnection(const char* conninfo); // use reasonable and environment defaults   ~PgConnection(); // close connection and clean up    ConnStatusType Status();  int ConnectionBad();  const char* ErrorMessage();    // returns the database name of the connection  const char* DBName();     ExecStatusType Exec(const char* query);  // send a query to the backend  int ExecCommandOk(const char* query);    // send a command and check if it's  int ExecTuplesOk(const char* query);     // send a command and check if tuple  PGnotify* Notifies();};// ****************************************************************//// PgDatabase - a class for accessing databases//// ****************************************************************class PgDatabase : public PgConnection {protected:  PgDatabase() : PgConnection() {}	// Do not connectpublic:  // connect to the database with conninfo  PgDatabase(const char *conninfo) : PgConnection(conninfo) {};  ~PgDatabase() {}; // close connection and clean up  // query result access  int Tuples();  int Fields();  const char* FieldName(int field_num);  int FieldNum(const char *field_name);  Oid FieldType(int field_num);  Oid FieldType(const char *field_name);  short FieldSize(int field_num);  short FieldSize(const char *field_name);  const char* GetValue(int tup_num, int field_num);  const char* GetValue(int tup_num, const char *field_name);  int GetLength(int tup_num, int field_num);  int GetLength(int tup_num, const char* field_name);  void DisplayTuples(FILE *out = 0, int fillAlign = 1,         const char* fieldSep = "|",int printHeader = 1, int quiet = 0) ;  void PrintTuples(FILE *out = 0, int printAttName = 1,         int terseOutput = 0, int width = 0) ;  // copy command related access  int GetLine(char* string, int length);  void PutLine(const char* string);  const char *OidStatus();  int EndCopy();};// ****************************************************************//// PGLargeObject - a class for accessing Large Object in a database//// ****************************************************************class PgLargeObject : public PgConnection {public:  PgLargeObject(const char* conninfo = 0);   // use reasonable defaults and create large object  PgLargeObject(Oid lobjId, const char* conninfo = 0); // use reasonable defaults and open large object  ~PgLargeObject(); // close connection and clean up  void Create();  void Open();  void Close();  int Read(char* buf, int len);  int Write(const char* buf, int len);  int Lseek(int offset, int whence);  int Tell();  int Unlink();  Oid LOid();  Oid Import(const char* filename);  int Export(const char* filename);  string Status();};// ****************************************************************//// PgTransaction - a class for running transactions against databases//// ****************************************************************class PgTransaction : public PgDatabase {protected:  ExecStatusType BeginTransaction();  ExecStatusType EndTransaction();  PgTransaction() : PgDatabase() {}	// Do not connectpublic:  PgTransaction(const char* conninfo);  // use reasonable & environment defaults  // connect to the database with given environment and database name  PgTransaction(const PgConnection&);  virtual ~PgTransaction();     // close connection and clean up};// ****************************************************************//// PgCursor - a class for querying databases using a cursor//// ****************************************************************class PgCursor : public PgTransaction {protected:  int Fetch(const string& num, const string& dir);  string pgCursor;  PgCursor() : PgTransaction() {}	// Do not connectpublic:  PgCursor(const char* dbName, const char* cursor);     // use reasonable & environment defaults  // connect to the database with given environment and database name  PgCursor(const PgConnection&, const char* cursor);  virtual ~PgCursor();  // close connection and clean up  // Commands associated with cursor interface  int Declare(const string& query, int binary = 0);     // Declare a cursor with given name  int Fetch(const char* dir = "FORWARD");               // Fetch ALL tuples in given direction  int Fetch(unsigned num, const char* dir = "FORWARD"); // Fetch specified amount of tuples  int Close();  // Close the cursor  // Accessors to the cursor name  const char* Cursor();  void Cursor(const string& cursor);};// buffer size#define BUFSIZE 1024#endif /* LIBPQXX_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -