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