使用语句 (ODBC)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)
使用语句
调用 SQLAllocHandle,同时将 HandleType 设置为 SQL_HANDLE_STMT,以分配语句句柄。
(可选)调用 SQLSetStmtAttr 以设置语句选项,或调用 SQLGetStmtAttr 以获取语句属性。
若要使用服务器游标,必须将游标属性设置为其默认值之外的值。
(可选)如果要多次执行此语句,可以使用 SQLPrepare 函数准备要执行的语句。
(可选)如果语句具有绑定参数标记,通过使用 SQLBindParameter 将参数标记绑定到程序变量。 如果是准备的语句,则可以调用 SQLNumParams 和 SQLDescribeParam 以查找参数的数目和特征。
使用 SQLExecDirect 直接执行语句。
- 或 -
如果是准备的语句,则可以使用 SQLExecute 多次执行该语句。
- 或 -
调用可返回结果的目录函数。
采用以下方法处理结果:将结果集列绑定到程序变量、通过使用 SQLGetData 将数据从结果集列移至程序变量,或是结合使用这两种方法。
从语句的结果集中提取,每次提取一行。
- 或 -
通过使用块游标从结果集中提取,每次提取多个行。
- 或 -
调用 SQLRowCount 以确定 INSERT、UPDATE 或 DELETE 语句影响的行数。
如果 SQL 语句可以有多个结果集,在每个结果集的末尾调用 SQLMoreResults 以查看是否还有更多待处理的结果集。
处理完结果后,可能需要执行以下操作,令语句句柄可用于执行新语句:
如果未调用 SQLMoreResults,直到它返回 SQL_NO_DATA,则调用 SQLCloseCursor 以关闭游标。
如果将参数标记绑定到程序变量,则调用 SQLFreeStmt(同时将 Option 设置为 SQL_RESET_PARAMS)以释放绑定参数。
如果将结果集列绑定到程序变量,则调用 SQLFreeStmt(同时将 Option 设置为 SQL_UNBIND)以释放绑定列。
若要重用语句句柄,请转至步骤 2。
调用 SQLFreeHandle,同时将 HandleType 设置为 SQL_HANDLE_STMT,以释放语句句柄。