r *login,
const char *pwd)
建立非阻塞连接函数
PGconn *PQconnectStart(const char *conninfo)
PostgresPollingStatusType *PQconnectPoll(PQconn *conn)
执行查询函数
PGresult *PQexec(PGconn *conn,const char *query) 返回查询的结构集。
int PQntuples(const Pgresult *res) 返回查询结果里的记录个数。
int PQnfields(const Pgresult *res) 返回记录中的字段的个数。
char *PQfname(const Pgresult *res,int field_index)返回结构集中某一字段的名称。
Oid PQftype(const Pgresult *res, int field_index) 返回结构集中某一字段的数据类型。
char *PQgetvalue(const Pgresult *res,int tup_num, int field_index) 返回结构集中某一条记录中某一个字段的值。
这里只列举最常用的一些函数,具体说明可以参见文档。
大对象数据操作,主要使用下列函数在SQL语句中操作大对象数据。
Oid lo_creat(PGconn *conn,
int mode)
创建一个新的大对象.mode 是一个位掩码,描述新对象的不同属性
Oid lo_import(PGconn *conn,
const char *filename)
把文件作为大对象导入数据库
int lo_export(PGconn *conn,
Oid lobjId, const char *filename)
大对象导入出数据库,保存为文件
int lo_open(PGconn *conn,
Oid lobjId, int mode)
打开一个现存的大对象
int lo_write(PGconn *conn, int fd,
const char *buf, size_t len)
大对象写入数据
int lo_read(PGconn *conn, int fd,
char *buf, size_t len)
从大对象读取数据
int lo_lseek(PGconn *conn, int fd,
int offset, int whence)
对大对象数据进行查找
int lo_close(PGconn *conn, int fd)
关闭大对象描述符
函数在fe-lobj.c文件中定义,具体使用参见 Accessing Large Objects from libpq
上面函数的具体介绍请参见 PostgreSQL v7.0文档 在这里就不详细介绍了。这里省略列举状态检查函数,参见参考文档。
使用C语言访问数据库的除了libpq库,还有其他如 libpqeasy,ecpg 等接口。
2.C++语言接口
- 头文件 libpq++.h 连接需要的库位 pq++,连接参数是 -lpq++
-
libpq++ 类继承关系图
上一页 [1] [2] [3] [4] 下一页
- 类简介
PgConnection成员函数
PgConnection(const char* conninfo)
参数同下
Connect(const char* conninfo)
同 PQconnectdb
Exec(const char* query)
同 PQexec
ExecCommandOk(const char* query)
运行命令并检查状态是否PGRES_COMMAND_OK
ExecTuplesOk(const char* query)
运行查询并检查状态是否PGRES_TUPLES_OK
IntToString(int n)
数字转换为字符串
ConnectionBad()
连接是否失败
ErrorMessage()
返回错误信息
DBName()
同 PQdb
详细说明参见文档
PgDatabase 的常用成员函数
PgDatabase(const char* conninfo)
构造函数连接到数据库,跟 Pqconnectdb参数相同
Tuples()
同 PQntuples();
CmdTuples()
同 PQcmdTuples
Fields()
同 PQnfields
FieldName(int field_num)
同 PQfname
FieldNum(const char* field_name)
同 PQfnumber
FieldType(int ield_num)
FieldType(const char* field_name)
同 PQftype
FieldSize(int field_num)
FieldSize(const char* field_name)
同 PQfsize
GetValue(int tup_num, int field_num)
GetValue(int tup_num, const char* field_name)
同 PQgetvalue
GetIsNull(int tup_num, int field_num)
GetIsNull(int tup_num, const char* field_name)
同 PQgetisnull
GetLength(int tup_num, int field_num)
GetLength(int tup_num, const char* field_name)
同 PQgetl上一页 [1] [2] [3] [4] 下一页
|