当前位置:   article > 正文

VC++6.0 MFC利用ADO连接到MySQL数据库_vc6连接mysql ado

vc6连接mysql ado

安装MySQL数据库,并为其安装驱动!

两种连接方式:ODBC连接和非ODBC连接。

一、ODBC方式链接

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

  1. //导入msado15.dll动态链接库,不要命名空间,将EOR改成adoEOR,避免与文件结尾冲突
  2. #import "C://program files//common files//system//ado//msado15.dll" no_namespace rename ("EOF", "adoEOF")

2、链接数据库

  1. CoInitialize(NULL); //初始化Com组件
  2. _ConnectionPtr conPtr; //数据库链接指针(可在头文件中定义)
  3. //对conPtr初始化
  4. //conPtr.CreateInstance("ADODB.Connection"); //Connection用于与数据库服务器的链接方法一
  5. conPtr.CreateInstance(__uuidof(Connection)); //Connection用于与数据库服务器的链接方法二
  6. try
  7. {
  8. conPtr->ConnectionTimeout = 5; //设置连接时间
  9. //MySql为数据源名 localhost表示本地 root表示用户名 123表示密码
  10. //链接方式1,使用这种方式链接时要注意在设置数据源时一定要选择一个数据库(测试成功)
  11. //conPtr->Open("DSN=MySql;server=localhost;","root","123",adModeUnknown);
  12. //链接方式2,采用这种方式链接时在创建数据源时没有必要选择一个数据库(测试成功)
  13. conPtr->Open("DSN=MySql;server=localhost;database=test;","root","123",adModeUnknown);
  14. }
  15. catch(_com_error e) //捕捉异常
  16. {
  17. AfxMessageBox(e.ErrorMessage());
  18. }
  19. CoUninitialize(); //释放com组件(不知是否有必要)

3、访问数据库

  1. RecordsetPtr recordPtr;//数据集指针(可在头文件中定义)
  2. //对recordPtr初始化
  3. recordPtr.CreateInstance(__uuidof(Recordset));
  4. try
  5. {
  6. //number是int类型的字段
  7. m_pRec=m_pCon->Execute("select number from data",NULL,adCmdText);
  8. }
  9. catch (_com_error e)
  10. {
  11. AfxMessageBox(e.Description());
  12. }
  13. while (!(m_pRec->adoEOF))
  14. { //获取记录
  15. CString number=(LPCSTR)(_bstr_t)m_pRec->GetCollect("number");
  16. AfxMessageBox(number);
  17. m_pRec->MoveNext();
  18. }
  19. m_pRec->Close();//关闭记录集
  20. m_pRec.Release();//释放空间
  21. m_pCon->Close();//关闭连接
  22. m_pCon.Release();//释放空间

二、非ODBC方式链接。

1、链接数据库

  1. CoInitialize(NULL); //初始化Com组件
  2. _ConnectionPtr conPtr; //数据库链接指针
  3. //对conPtr初始化
  4. //conPtr.CreateInstance("ADODB.Connection"); //Connection用于与数据库服务器的链接方法一
  5. conPtr.CreateInstance(__uuidof(Connection)); //Connection用于与数据库服务器的链接方法二
  6. //MySQL ODBC 5.1 Driver为驱动名称(取决于我们为MySql安装的驱动),localhost为服务器地址,test为数据库名,root为用户名(MySql默认用户名为root),123为密码
  7. CString conStr=_T("Driver={ MySQL ODBC 5.1 Driver };Server= localhost;Database=test;");
  8. try
  9. {
  10. conPtr->ConnectionTimeout = 5; //设置连接时间
  11. conPtr->Open((_bstr_t)conStr, _T("root"),_T("123"), adModeUnknown);
  12. }
  13. catch(_com_error e) //捕捉异常
  14. {
  15. AfxMessageBox(e.ErrorMessage());
  16. }
  17. CoUninitialize(); //释放com组件

2、访问数据库

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/860825
推荐阅读
相关标签
  

闽ICP备14008679号