现一项目使用ODBC API连接数据库
每次要查询得到结果集时都是使用
SQLRETURN retcode = SQLAllocHandle(SQL_HANDLE_STMT,m_hdbc,&(m_sSearchInfo.hstmt));
使用完之后再使用
if (m_sSearchInfo.hstmt)
{
SQLCloseCursor(m_sSearchInfo.hstmt);
SQLFreeHandle(SQL_HANDLE_STMT,m_sSearchInfo.hstmt);
}
关闭这样会不会使效率低下。另有一个想法是:为每一次查询相同的查询使用特定的一个结果集句柄。使用第二种方案能提高效率吗?有谁遇到过这样的问题,请指点~

解决方案 »

  1.   

    没使用过ODBC API连接数据库。
    不过结果集肯定要关闭
    如果要提高效率可以使用存储过程。
      

  2.   

    2楼说到点上了
    你让我想起ADO查询数据库时如果上次记录集不关闭的话是无法得到当前记录集的,我去试下ODBCAPI是不是一样,回来再报告 ^_^
      

  3.   

    谢谢二楼,同时也要谢谢一楼,三楼的.
    结果证明和ADO一样,ODBC API的记录集句柄不关闭的话,无法查询.
    第二种方案是不行了.
    谢谢各位.
    结贴散分!