第一范文网 - 专业文章范例文档资料分享平台

3使用ODBC API访问数据库

来源:用户分享 时间:2025/7/1 9:13:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

}

//提交

m_retcode = ::SQLEndTran(SQL_HANDLE_DBC, m_hdbc, SQL_COMMIT);

if((m_retcode != SQL_SUCCESS) && (m_retcode != SQL_SUCCESS_WITH_INFO)) { ReportError(m_hdbc, SQL_HANDLE_DBC, “执行事务完成后,提交失败”); iReturn = -1; }

//再把提交方式改为自动 RESET_AUTO_COMMIT:

m_retcode =::SQLSetConnectOption(m_hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_ON); if((m_retcode != SQL_SUCCESS) && (m_retcode != SQL_SUCCESS_WITH_INFO)) {

ReportError(m_hdbc, SQL_HANDLE_DBC, “执行事务失败并且回滚失败”); iReturn = -1; }

return iReturn;

}

断开数据源连接并释放环境句柄

当完成对数据库的操作后,可以调用SQLDisconnect函数关闭同数据源的连接。当该句柄的事务操作还未完成时,应用程序调用SQLDisconnect函数,这时驱动器返回SQLStATE25000,表明此次事务没有变化且连接还打开。在应用程序调用SQLDisconnect函数之前没有释放与之相连的描述时,当成功的与数据源断开连接后,驱动器自动释放与之相连的参数、描述器等。担当与之相连的某一个参数还在执行一步操作时,SQLDisconnect返回SQL_ERROR,且SQLSTATE的值置为HY010

Demo1中相应断开数据源和释放环境句柄的代码如下:

//逐个释放各种句柄

BOOL CMyODBC::DisConnect() { if(m_hstmt != NULL) { SQLFreeHandle(SQL_HANDLE_STMT, m_hstmt); m_hstmt = NULL

}

if(this->m_hdbc != NULL) { SQLDisconnect(m_hdbc); SQLFreeHandle(SQL_HANDLE_DBC, m_hdbc); m_hdbc = NULL; }

if(this->m_henv != NULL) { SQLFreeHandle(SQL_HANDLE_ENV, m_henv); m_henv = NULL; }

if(this->m_pSet != NULL) { m_pSet = NULL; }

return TRUE; }

搜索更多关于: 3使用ODBC API访问数据库 的文档
3使用ODBC API访问数据库.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4vhrz1784a35m4y30uyk_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top