Exec 向后端服务器发送一个查询。可能我们更愿意使用下面两个函数之一。
ExecStatusType PgConnection::Exec(const char* query)返回查询的结果。可能的状态结果可以是下面的值:
PGRES_EMPTY_QUERY |
PGRES_COMMAND_OK,如果查询是一条命令 |
PGRES_TUPLES_OK,如果查询成功返回元组 |
PGRES_COPY_OUT |
PGRES_COPY_IN |
PGRES_BAD_RESPONSE,如收到一个未知的响应 |
PGRES_NONFATAL_ERROR |
PGRES_FATAL_ERROR |
ExecCommandOk 向后端服务器发送一条命令查询。
int PgConnection::ExecCommandOk(const char *query)如果命令查询成功则返回 TRUE。
ExecTuplesOk 向后端服务器发送一条命令查询。
int PgConnection::ExecTuplesOk(const char *query)如果命令查询成功则返回 TRUE。
ErrorMessage 返回最后一条错误信息文本。
const char *PgConnection::ErrorMessage()
Tuples 返回查询结果里元组(实例)的条数。
int PgDatabase::Tuples()
Fields 返回查询结果里每条元组的数据域(字段)数。
int PgDatabase::Fields()
FieldName 返回与指定域索引相联的域(字段)名称。域索引从 0 开始计数。
const char *PgDatabase::FieldName(int field_num)
FieldNum 返回与指定域(字段)名称相联的域索引。
int PgDatabase::FieldNum(const char* field_name)如果给出的名称无法与任何域匹配返回 -1。
FieldType 返回与给出域索引相联的域类型。 返回的整数是该类型的内部编码。域索引从 0 开始计数。
Oid PgDatabase::FieldType(int field_num)
FieldType 返回与给出域索引相联的域的类型。 返回的整数是该类型的内部编码。域索引从 0 开始计数。
Oid PgDatabase::FieldType(const char* field_name)
FieldSize 返回与给出域索引相联域以字节计算的尺寸。域索引从 0 开始计数。
short PgDatabase::FieldSize(int field_num)返回在数据库元组里面给该数据域分配的空间, 换句话说就是该数据类型在服务器里的二进制形式的大小(尺寸). 如果该数据域是可变尺寸,返回 -1.
FieldSize 返回与给出域名称相联的域的以字节计算的尺寸。域索引从 0 开始计数。
short PgDatabase::FieldSize(const char *field_name)返回在数据库元组里面给该数据域分配的空间, 换句话说就是该数据类型在服务器里的二进制形式的大小(尺寸). 如果该数据域是可变尺寸,返回 -1.
GetValue 返回一个 PGresult 里面的一条元组的单独的一个数据域(字段)的值. 元组和数据域索引从 0 开始.
const char *PgDatabase::GetValue(int tup_num, int field_num)对大多数查询而言, GetValue 返回的值是一个表示字段值的空(NULL)结尾的 ASCII 字符串. 但是如果BinaryTuples() 为 TRUE, GetValue 返回的值就是该类型在后端服务器内部的二进制表现形式 (但是不包括尺寸字--如果数据域是变长的). 这样,把数据转换成对应的 C 类型就是程序员的责任了. GetValue 返回的指针指向一个本身是 PGresult 结构的一部分的存储区域. 我们不能对其做修改, 并且如果我们要在 PGresult结构的生存期后还要使用它的话, 我们必须显式的把该数值拷贝到其他存储器中. BinaryTuples() 还没有实现。
GetValue 返回一个 PGresult 里面的一条元组的单独的一个数据域(字段)的值. 元组和数据域索引从 0 开始.
const char *PgDatabase::GetValue(int tup_num, const char *field_name)对大多数查询而言, GetValue 返回的值是一个表示字段值的空(NULL)结尾的 ASCII 字符串. 但是如果BinaryTuples() 为 TRUE, GetValue 返回的值就是该类型在后端服务器内部的二进制表现形式 (但是不包括尺寸字--如果数据域是变长的). 这样,把数据转换成对应的 C 类型就是程序员的责任了. GetValue 返回的指针指向一个本身是 PGresult 结构的一部分的存储区域. 我们不能对其做修改, 并且如果我们要在 PGresult结构的生存期后还要使用它的话, 我们必须显式的把该数值拷贝到其他存储器中. BinaryTuples() 还没有实现。
GetLength 返回以字节计的数据域(字段)的长度.元组和数据域索引从 0 开始.
int PgDatabase::GetLength(int tup_num, int field_num)这是某一特定数据值的实际数据长度,也就是由 GetValue 指向的对象的尺寸. 注意,对于 ASCII 代表的数值,这个尺寸与 PQfsize 报告的二进制尺寸无关.
GetLength 返回以字节计的数据域(字段)的长度.元组和数据域索引从 0 开始.
int PgDatabase::GetLength(int tup_num, const char* field_name)这是某一特定数据值的实际数据长度,也就是由 GetValue 指向的对象的尺寸. 注意,对于 ASCII 代表的数值,这个尺寸与 PQfsize 报告的二进制尺寸无关.
DisplayTuples 向指定输出流打印所有元组和(可选的)字段名。
void PgDatabase::DisplayTuples(FILE *out = 0, int fillAlign = 1, const char* fieldSep = "|",int printHeader = 1, int quiet = 0)
PrintTuples 向指定输出流打印所有元组和(可选的)字段名。
void PgDatabase::PrintTuples(FILE *out = 0, int printAttName = 1, int terseOutput = 0, int width = 0)
CmdTuples 返回在一次 INSERT,UPDATE 或 DELETE 后涉及的行数. 如果是其他命令,返回 -1.
int PgDatabase::CmdTuples()
OidStatus
const char *PgDatabase::OidStatus()
GetLine
int PgDatabase::GetLine(char* string, int length)
PutLine
void PgDatabase::PutLine(const char* string)
EndCopy
int PgDatabase::EndCopy()