关闭

SQLFreeStmt( m_hstmt, SQL_CLOSE);

标签: sql数据库存储
2248人阅读 评论(1) 收藏 举报
分类:

清华的课程:
http://www.nuist.edu.cn/courses/jsj/GD_jsj_010b/text/ch06/se02/6_2_4.htm

=====================================

SQLFreeStmt( m_hstmt, SQL_CLOSE);

SQLPrepare函数准备好的SQL语句可以被SQLExecute函数多次执行。在每次执行时,可使用不同的语句参数。但是,当调用SQLExecute函数再次执行一个SELECT语句时,应用程序必须先使用SQL_CLOSE参数调用SQLFreeStmt函数,关闭与该语句句柄相关联的游标,废除它正在处理的结果集合,然后再执行SELECT语句,生成新的结果集合。

=====================================

1.申请语句句柄 
  SQLAllocStmt函数为应用程序分配语句句柄,其格式为:
   RETCODE SQLAllocStmt(
              HDBC hdbc,
              HSTMT FAR * phstmt
              )其中,hdbc为连接句柄。每个语句句柄总是与一个连接句柄相关联,所以在申请语句句柄时,要提供一个有效的连接句柄,否则,SQLAllocStmt函数将返回错误码:SQL_INVALID_HANDLE。
  Phstmt为输出参数,它是一个指向语句句柄变量的指针,当SQLAllocStmt函数执行成功时,它返回SQL_SUCCESS,并将为应用程序分配的语句句柄存储到指定的语句句柄变量中,否则返回SQL_ERROR。


 2. 释放语句句柄 
  在使用语句句柄处理完数据库操作后,应用程序应调用SQLFreeStmt函数关闭语句句柄的游标、释放为结果集合所分配的缓冲区、释放语句句柄,从而释放它占用的系统资源。      SQLFreeStmt函数的格式为:
            RETCODE SQLFreeStmt(
            HSTMT hstmt,
            UWORD fOption
            )
   其中,hstmt为待释放的语句句柄,fOption参数控制SQLFreeStmt函数的动作。因为SQLFreeStmt函数不仅仅用来释放语句句柄,它还有其它多种功能,如能够关闭游标,释放列和参数缓冲区等,SQLFreeStmt函数的所有这些功能由fOption参数的取值决定。
  FOption参数取值如下:
 .SQL_CLOSE:关闭与hstmt句柄相关联的游标,废除所有正在处理的结果。关闭游标后,再次执行SELECT语句可以重新打开游标;
 .SQL_DROP:关闭所有与hstmt相关联的游标,废除正在处理的结果,结束一切对hstmt句柄的访问,并释放hstmt 句柄;
 .SQL_UNBIND:解除SQLBindCol函数为hstmt结果集合所关联的所有列缓冲区;
 .SQL_RESET_PARAS:释放SQLBinParameter函数为hstmt句柄所关联的参数缓区。


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:70440次
    • 积分:1381
    • 等级:
    • 排名:千里之外
    • 原创:61篇
    • 转载:10篇
    • 译文:0篇
    • 评论:22条
    最新评论