PQexecPrepared
功能描述
发送一个请求来用给定参数执行一个预备语句,并且等待结果。
原型
PGresult* PQexecPrepared(PGconn* conn,
const char* stmtName,
int nParams,
const char* const* paramValues,
const int* paramLengths,
const int* paramFormats,
int resultFormat); 参数
| 关键字 | 参数说明 |
|---|---|
| conn | 连接句柄。 |
| stmtName | stmt名称,可以用""或者NULL来引用未命名语句,否则它必须是一个现有预备语句的名字。 |
| nParams | 参数个数。 |
| paramValues | 参数的实际值。 |
| paramLengths | 参数的实际数据长度。 须知: 下列情况中,参数长度强制使用paramLengths中对应的值:
此时paramLengths不允许为空,并且参数长度的正确性须由调用者保证。 |
| paramFormats | 参数的格式(文本或二进制)。 |
| resultFormat | 结果的格式(文本或二进制)。 |
当绑定的字符类型数据中含'\0'字符且libpq的0字符参数supportZeroCharacter设置为1时,用户需要保证输入的字符串长度(paramLengths)等于含'\0'字符的字符串的实际长度。当输入的字符串长度大于含'\0'字符的字符串实际长度时,此场景下若发生内存越界访问,会在libpq侧产生coredump;当输入的字符串长度小于含'\0'字符的字符串实际长度时,会按照用户输入的字符串长度对含'\0'字符的字符串进行截断。
当0字符参数supportZeroCharacter设置为1时,还需要保证客户端字符集和数据库字符集一致。
返回值
PGresult类型指针。