返回首页

gbase数据、南大通用产品文档:GBase8s

更新日期:2024年09月11日

Incorrect row value
ResultSet.absolute(int) 方法被值 0 调用。参数必须大于 0。

可以通过启用 deferred-PREPARE 功能来延迟 SQLPrepare 语句的执行。
此功能适用于应用程序执行一系列的 SQLPrepare 和 SQLExecute 语句的动态 SQL 语句。
它通过在应用程序对该语句调用 SQLExecute 之前不向数据库服务器发送 SQLPrepare语
句的方式来优化到数据库服务器的往返消息的数量。
当启用 deferred-PREPARE 后,应用程序执行以下行为:
l 执行 SQLPrepare 不会将语句置于准备好的状态。
l 在执行语句之前,SQLPrepare 语句中的语法错误是未知的,因为该 SQL 语句在执
行之前不会发送到数据库服务器。如果打开 open-fetch-close 优化功能,则直到第一
次访存之前错误不会返回到客户端,因为 open-fetch-close 优化了 OPEN/FETCH,
所以在第一次访存时发送 OPEN。
l 如果应用程序在调用 SQLPrepare 之后,SQLExecute 之前调用 SQLColAttributes 、
SQLDescribeCol、SQLNumResultCols 和 SQLNumParams,则始终返回 HY010(函
数序列错误)。
l 如果源描述符句柄在 SQLPrepare 之后,但在应用程序执行 SQLExecute之前调用,
则 SQLCopyDesc 返回 HY010。
l 如果描述符句柄是一个 IRD,
并且应用程序在 SQLPrepare 之后 SQLExecute之前调
用,则 SQLGetDescField 和 SQLGetDescRec 返回 HY010。
可以使用以下方式启用 ODBC 应用程序的 deferred-PREPARE 功能:
l 使用 SQLSetConnectAttr 设置 SQL_INFX_ATTR_DEFERRED_PREPARE 属性。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 191 -

l 当使用 SQLSetConnectAttr启用该属性时,所有为此连接新分配的语句都会继承该属
性值。
更改该属性的唯一方法是设置每一条语句并将它重新设置为语句的属性。
连接
属性缺省为 DISABLED 。
l 使用 SQLSetStmtAttr 设置 SQL_INFX_ATTR_AUTO_FREE 属性。
当使用 SQLSetConnectAttr 进行设置 SQL_INFX_ATTR_DEFERRED_PREPARE 属性时,
可以在 C2 和 C5 之间(包括两者)的任何连接状态中进行设置
SQL_INFX_ATTR_DEFERRED_PREPARE 属性。
而只有当语句处于 S1 (分配)
状态时,
才能使用 SQLSetStmtAttr 设置此属性。可以通过使用 SQLGetConnectAttr 或
SQLSetStmtAttr 检索 SQL_INFX_ATTR_DEFERRED_PREPARE 属性的值。

一个CASE表达式从一个或多个方案中选择一个。一旦有一个条件满足,剩下的分支就
不执行了。