如何通过ADO接口连接数据库

简介: 如何通过ADO接口连接数据库

问题详述:


ADO最主要的优点是易于使用、速度快、内存支出少和磁盘痕迹小。在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所以这些都是为了提供轻量、高性能接口。那么如何实现ADO连接数据库呢?


打开百度APP,查看更多高清图片

如果对你有帮助的话,帮忙推荐同学朋友关注公众号,是小编最好的支持


具体过程:


首先需要一个ODBC数据源。然后用_ConnectionPtr对象打开数据库连接,_RecordsetPrt对象获取记录集,这样就完成了数据库的链接。最后在不使用该数据库后要需要先后使用函数_RecordsetPrt::Close和_ConnectionPt::Close断开连接。


相关代码如下:


(1) 为了使用ADO,必须先引入Ado库文件(在stdafx.h文件中),代码如下:


#import"c:\Program Files\Common Files\System\ado\msado15.dll"no_namespacerename(“EOF”,“adoEOF”)


(2) 分别声明数据库连接_ConnectionPtr和记录集_RecordsetPtr类型的变量;


_ConnectionPtr pConn;//数据库连接


_RecordsetPtr pPtr; //记录集对象


(3) 完成数据库的链接,代码如下:


BOOL CMainDlg::OnInitDialog()


{


CDialog::OnInitDialog();


// 将“关于…”菜单项添加到系统菜单中。


// IDM_ABOUTBOX 必须在系统命令范围内。


ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);


ASSERT(IDM_ABOUTBOX < 0xF000);


CMenu* pSysMenu = GetSystemMenu(FALSE);


if (pSysMenu != NULL)


{


CString strAboutMenu;


strAboutMenu.LoadString(IDS_ABOUTBOX);


if (!strAboutMenu.IsEmpty())


{


pSysMenu->AppendMenu(MF_SEPARATOR);


pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);


}


}


}


CommandPtr pCommandPtr;


try


{


if (FAILED(pCommandPtr.CreateInstance(“ADODB.Command”)))


{


//AfxMessageBox(“GetUserIdFromUserProArray 创建_CommandPtr对象失败”);


return 0;


}


}


catch(_com_error e)


{


CString errormessage2;


errormessage2.Format(“CMainDlg GetUserIdFromUserProArray-创建_CommandPtr对象异常!\r\n 错误描述:%s \r\n 错误信息:%s”,


(LPCTSTR)e.Description(),e.ErrorMessage());


//AfxMessageBox(errormessage2);


PrintRunningLog((LPSTR)(LPCTSTR)errormessage2);


return 0;


}


//1@[UserProArray]


pCommandPtr->ActiveConnection = pConnection;


for(int ii = 0;ii<1;ii++)


{


_RecordsetPtr pSystemSetWifiPtr;


try


{


CString strSystemSetSql;


strSystemSetSql.Format(“select UserId from [UserProArray] where [projectCode]=’%s’”,procode);


//CString strSystemSetSql = "select * from 系统设置 ";


pCommandPtr->CommandText = _bstr_t(strSystemSetSql);


pSystemSetWifiPtr = pCommandPtr->Execute(NULL,NULL,adCmdText);


if (pSystemSetWifiPtr == NULL) //判断记录集是否为空,空退出


{


break;


}


if (pSystemSetWifiPtr->adoEOF) //判断数据库是否有数据


{


break;


}


if (pSystemSetWifiPtr->GetRecordCount()) //获取数据库数据数目


{


pSystemSetWifiPtr->MoveFirst(); //指向第一行


}


else


{


//释放记录集和连接


pSystemSetWifiPtr->Close();


pSystemSetWifiPtr.Release();


pSystemSetWifiPtr = NULL;


break;


}


}


相关文章
|
28天前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
126 68
|
13天前
|
SQL Java 数据库连接
数据库常用接口
ODBC(Open Database Connectivity):开放数据库互连技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性,一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access,MySQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
|
24天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
39 3
|
30天前
|
关系型数据库 MySQL 数据库连接
DBeaver如何连接一个数据库
【10月更文挑战第27天】DBeaver 是一款功能强大的通用数据库管理工具,支持多种主流数据库。本文介绍了使用 DBeaver 连接数据库的基本步骤,包括下载安装、创建新连接、选择数据库类型、配置连接参数、测试连接以及最终连接到数据库。详细的操作指南帮助用户轻松管理和操作数据库。
186 9
|
24天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
22 1
|
24天前
|
Java 数据库连接 数据库
Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销
本文深入探讨了Java连接池在数据库性能优化中的重要作用。连接池通过预先创建和管理数据库连接,避免了频繁创建和关闭连接的开销,显著提升了系统的响应速度和吞吐量。文章介绍了连接池的工作原理,并以HikariCP为例,展示了如何在Java应用中使用连接池。通过合理配置和优化,连接池技术能够有效提升应用性能。
38 1
|
1月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
27天前
|
SQL 关系型数据库 数据库连接
"Nacos 2.1.0版本数据库配置写入难题破解攻略:一步步教你排查连接、权限和配置问题,重启服务轻松解决!"
【10月更文挑战第23天】在使用Nacos 2.1.0版本时,可能会遇到无法将配置信息写入数据库的问题。本文将引导你逐步解决这一问题,包括检查数据库连接、用户权限、Nacos配置文件,并提供示例代码和详细步骤。通过这些方法,你可以有效解决配置写入失败的问题。
53 0
|
14天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
29 1
|
16天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
29 4
下一篇
无影云桌面