ADO访问数据库


大致操作过程:

_Connectionptr : CreateInstance , Open , ... Close , Realse

_CommandPtr : CreateInstance , ActiveConnection , CommandText , Excute , ... Close , Realse

_RecordsetPtr : CreateInstance , GetCollect 、Move(MoveNext,MoveFirst)、AddNew、PutCollect、Update , ... Close , Realse


ODBC方式链接。

1、应用程序的stdafx.h头文件中(也可以在其他合适的地方)包含如下语句。

#import "C://program files//commonfiles//system//ado//msado15.dll" no_namespacerename ("EOF","adoEOF")

 

2、链接数据库

CoInitialize(NULL);                                          //初始化Com组件

_ConnectionPtr conPtr;                                      //数据库链接指针

     //conPtr.CreateInstance("ADODB.Connection");           //Connection用于与数据库服务器的链接

     conPtr.CreateInstance(__uuidof(Connection));            //Connection用于与数据库服务器的链接另一种方式

     /******************连接数据库********************/

     try

     {

         conPtr->ConnectionTimeout = 5;                          //设置连接时间

         // MySqlTest为数据源名 localhost表示本地root表示用户名 sa表示密码

         //链接方式1,使用这种方式链接时要注意在设置数据源时一定要选择一个数据库

         //conPtr->Open("DSN=MySqlTest;server=localhost;","root","sa",adModeUnknown);///连接MySql数据库(测试成功)

         //链接方式2采用这种方式链接时在创建数据源时没有必要选择一个数据库          conPtr->Open("DSN=MySqlTest;server=localhost;database=test;","root","sa",adModeUnknown);///连接MySql数据库(测试成功)

     }

     catch(_com_error e)                                              //捕捉异常

     {

         AfxMessageBox(e.ErrorMessage());

     }

     CoUninitialize();                                       //释放com组件//不知是否有必要

    

3、访问数据库

_RecordsetPtr recordPtr;//数据集指针

recordPtr.CreateInstance(__uuidof(Recordset));

CString cmdStr=_T("selectname,stuno from student");//student为表名 该表中有两个字段name(字符型)stuno(int型)

     try

     {

              recordPtr->Open(_variant_t(cmdStr),

              conPtr.GetInterfacePtr(),

              adOpenDynamic,

              adLockOptimistic,

              adCmdText);

     }

     catch(_com_error e)

     {

         AfxMessageBox(e.Description());

     }

     while(!(recordPtr->adoEOF))

     {//获取记录

         CStringname=(CString)recordPtr->GetCollect(_variant_t("name")).bstrVal;

         intno=recordPtr->GetCollect(_variant_t("stuno")).intVal;

         recordPtr->MoveNext();

     }

     recordPtr->Close();//关闭记录集

     recordPtr.Release();//释放空间

     conPtr->Close();//关闭连接

     conPtr.Release();//释放空间

 

非ODBC方式链接。

 

链接数据库

CoInitialize(NULL);                                          //初始化Com组件

_ConnectionPtr conPtr;                                       //数据库链接指针

     //conPtr.CreateInstance("ADODB.Connection");            //Connection用于与数据库服务器的链接

     conPtr.CreateInstance(__uuidof(Connection));            //Connection用于与数据库服务器的链接另一种方式

// MySQL ODBC 5.1 Driver为驱动名称(取决于我们为MySql安装的驱动),localhost为服务器地址,test为数据库名,root为用户名(MySql默认用户名为root),sa为密码

     CStringconStr=_T("Driver={MySQL ODBC 5.1 Driver };Server= localhost;Database=test;");

     /******************连接数据库********************/

     try

     {

         conPtr->ConnectionTimeout = 5;                          //设置连接时间

         conPtr->Open((_bstr_t)conStr, _T("root"),_T("sa"), adModeUnknown);

     }

     catch(_com_error e)                                              //捕捉异常

     {

         AfxMessageBox(e.ErrorMessage());

     }

     CoUninitialize();                                       //释放com组件

获取记录集

获取记录集的方式与ODBC方式相同



只要是在自己的电脑上对udl进行了连接测试成功后,在用记事本(如若不行,直接把文件的扩展名udl改成txt)打开这个文件,你会发现里面就写着自己电脑的数据库连接字符串!!!这都是网上别人的成果!!

欢迎使用 ADO Microsoft® ActiveX® Data Objects (ADO) 使您的客户端应用程序能够通过 OLE DB 提供者访问和操作在数据库服务器中的数据。 ADO 程序员参考 ADO 支持用于建立基于客户端/服务器和 Web 的应用程序的主要功能。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO 同时具有远程数据服务 (RDS) 功能,通过 RDS 可以在一次往返过程中实现将数据从服务器移动到客户端应用程序或 Web 页、在客户端对数据进行处理然后将更新结果返回服务器的操作。 有关 ADO 的详细信息,请参阅 ADO 概述。请在 http://www.microsoft.com/data/ado 中参阅 Microsoft 有关 ADO 发布说明的 Web 页。 ADO Extensions for DDL and Security (ADOX) 程序员参考 ActiveX Data Objects Extensions for DDL and Security (ADOX) 将 ADO 扩展为包括创建、修改和删除模式对象,如表格和过程。它还包括安全对象,用于维护用户和组,以及授予和撤消对象的权限。 有关 ADOX 的详细信息,请参阅 ADOX 概述。请在 http://www.microsoft.com/data/ado 中参阅 Microsoft 有关 ADOX 发布说明的 Web 页。 ADO MD 程序员参考 ActiveX Data Objects (Multidimensional) (ADO MD) 将 ADO 扩展为包括指定到多维数据的对象,并允许浏览多维模式、查询立方和检索结果。 有关 ADO MD 的详细信息,请参阅 ADO MD 概述。请在 http://www.microsoft.com/data/ado 中参阅 Microsoft 有关 ADO MD 发布说明的 Web 页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值