C++使用ADODB连接数据库

  1 用的是ADODB,所以在StdAfx.h文件里面的   #include <afxwin.h> 后面加这句话
  2 #import "C:\program files\common files\System\ado\msado15.dll" no_namespace   3  rename("EOF", "adoEOF")
  4
  5 //CDataManage.h
  6 定义变量,数据结构(与数据库中表的字段对应,即保存数据表中字段的信息)及函数(CDataManage()构造函数,~CDataManage(){析构函数,Break()断开数据库连接,ConnectDBase(char* DBPath)  //连接数据库,ReadDatabaseInfo(ImageInf imageinfo)//读取数据
  7
  8 )
  9
 10
 11 //CDataManage.cpp
 12 #include "stdafx.h"
 13 #include "CDataManage.h"
 14
 15 extern char g_ImageDBPath[256];//g打头的为全局变量,保存图像路径的变量
 16 CDataManage::CDataManage(){ //构造函数
 17     m_pConnection=NULL; //初始化连接对象NULL
 18 }
 19
 20 CDataManage::~CDataManage(){//析构函数
 21
 22     if(m_pConnection!=NULL)
 23     {
 24       if(m_pConnection->State)
 25             m_pConnection->Close();
 26     }
 27     m_pConnection=NULL;
 28 }
 29 void CDataManage::Break(){//断开数据库连接
 30     if(m_pConnection!=NULL)
 31     {
 32       if(m_pConnection->State)
 33             m_pConnection->Close();
 34     }
 35     m_pConnection=NULL;
 36 }
 37
 38 bool CDataManage::ConnectDBase(char* DBPath){            //连接数据库
 39 //    AfxOleInit();
 40     HRESULT hr;  //创建对象
 41     try
 42     {
 43         hr = m_pConnection.CreateInstance("ADODB.Connection");  //创建Connection对象
 44         if (SUCCEEDED(hr))         //创建成功
 45         {
 46         hr = m_pConnection->Open(DBPath,"","",adConnectUnspecified);
 47  //DBPath是字符串类型的数据库存放路径,写时要加双引号
 48         //连接数据库注意DataSource路径的写法
 49         //AfxMessageBox("连接数据库成功");
 50         }
 51         m_pRecordset.CreateInstance("ADODB.Recordset");
 52     }
 53     catch(_com_error e) //联接异常处理
 54     {
 55     CString errorMsg;
 56     errorMsg.Format("连接数据库失败\r\n错误信息:%s",e.ErrorMessage());
 57 //    AfxMessageBox(e.Description());
 58     return false;//显示错误信息
 59     }
 60     return TRUE;
 61 }
 62
 63 int CDataManage::ReadDatabaseInfo(ImageInf imageinfo){//读取数据
 64     char Sql[100];
 65     CString date;
 66     CString UBirth;
 67     int year,month,day;
 68     _variant_t var;
 69     sprintf(Sql,"select * from ImageTable where 数据库字字段=‘%s‘",ImageTable.数据库字字段数据);
 70     m_pRecordset->Open(Sql,m_pConnection.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
 71
 72     if(m_pRecordset->GetRecordCount()>0){//数据库中读取到数据
 73         m_pRecordset->MoveFirst();
 74         while(!m_pRecordset->adoEOF){
 75             _variant_t var;
 76            var=m_pRecordset->GetCollect("");
 77
 78
 79         if(m_pRecordset->GetState()==1){
 80             m_pRecordset->Close();
 81         }
 82         return 1;
 83     }
 84
 85     if(m_pRecordset->GetRecordCount()>0) {
 86         var=m_pRecordset->GetCollect("数据库字段名");
 87         g_ImageDBPath=(char)var;//g_ImageDBPath全局变量里面是图片的路径
 88         }
 89     }
 90     //下面几行是循环读取数据库中的记录,根据情况添加
 91     /*    if(m_pRecordset->GetRecordCount()>0)
 92             imageID=10000+m_pRecordset->GetRecordCount()+1;
 93         else imageID=10000+1;
 94          */
 95
 96
 97 }
 98
 99
100     

原文地址:https://www.cnblogs.com/cindy-zl24/p/8975392.html

时间: 2024-07-31 12:45:54

C++使用ADODB连接数据库的相关文章

php必须知道的300个问题-目录

php必须知道的300个问题 第1章 PHP开发规范与入门要点 问题1 如何在Windows下配置PHP开发环境? 答案 问题2 如何在Linux下配置PHP开发环境? 问题3 如何搭建IIS+PHP+MySQL环境? 问题4 PHP集成开发环境的特点有哪些? 问题5 如何应用AppServ搭建PHP开发环境? 问题6 如何通过XAMPP配置PHP开发环境? 问题7 XAMPP——Linux版PHP集成化安装包 问题8 Apache配置文件全解 问题9 PHP.INI配置文件全解 问题10 Ap

adodb配置与使用

=========================================php100:80:ADODB PHP数据库万能引擎类 ADODB PHP数据库介绍与特点ADODB 是一种兼容的各类数据库应用程序接口(API),各种数据库都可以.MySQL,PostgreSQL,Interbase,Firebird,Informix,Oracle,MS SQL 7,Foxpro,Access,ADO,Sybase,FrontBase,DB2 ADODB在PHP规范各类数据库的链接和使用ADOD

VB6动态连接数据库模板

最近接到一个任务--迁移数据库 要迁移的数据库是SQL2005数据库,有两个应用软件是与此数据库进行数据通信.由于客户端应用程序的连接数据库方式直接以绝对方式写入程序,所以此次迁移需要同时修改客户端应用程序,考虑到不久后公司地址要变动,到时还要重新配置服务器,肯定还要修客户端代码,于是我打算采用模板的方式,将应用程序修改成动态连接数据库,那么后续迁移数据将不需要修改应用程序的代码,只需要修改配置文件即可. 思路:增加一个配置文件setup.ini,固定setup.ini的数据格式,编写一个读取s

.NET连接数据库方式

1.连接Oracle 一  OracleClient方式,是微软专门针对Oracle数据库开发的(通常情况使用) 引用类库:System.Data.OracleClient.dll 命名空间:System.Data.OracleClient 常用类:OracleConnection.OracleCommand.OracleDataAdapter.OracleTransaction.OracleDataReader等 连接字符串:“data source=**[网络配置服务名];user id=*

【QTP专题】连接数据库

获取数据库连接串 在本地新建一个.txt文件,修改扩展名名*.udl:双击*.udl文件,打开数据库链接属性,定位到"提供程序"选显卡,选中如sqlserver的连接  Microsoft  for OLE DB Provider for sql server,点击下一步:输入数据源,数据库用户名以及密码,选择数据库,点击测试连接,测试成功后,点击"确定".如图所示 然后用UE或记事本打开*.udl文件,sqlserver的连接串已经生成了,如下: Provider

C++使用ADO连接数据库及其实例

读写数据库的技术很多,现在多用ADO.ADO以COM方式提供,所以它的很多行为遵循COM规范.首先,要引入ADO的COM文件,它的位置一般在"C:/Program Files/Common Files/System/ado/msado15.dll". 1. 引入ADO 打开预编译头文件StdAfx.h,写上引入声明: #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace

VS2010连接数据库的操作(SQLServer2005/2008 以及Access2007/2003等)

1.首先建立一个数据库文件 2.打开VS2010/VS2012/VS2013 3.建立一个工程名字叫做*** 4.看到状态栏:工具->连接到数据库 3. 4. 5.点击高级,把DataSource的内容和Provider的内容复制到 _bstr_t strConnect ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/graduation project/HouseRealty/Limite.mdb;Persist Security In

c++通过ADO连接数据库

c++通过ADO连接数据库,具体要求步骤如下: 1.要导入连接ADO库文件信息,方法 #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")    rename("BOF","adoBOF")//必须要有(换行要有 \),如果是vc6开发,此句最好放在StdAfx.h

ADODB入门教程(基础文章)

1.简要说明ADODB是PHP中的一个通用的数据库操作库,ADODB目前支持MySQL.PostgreSQL.Oracle.Interbase.Microsoft SQL Server.Access.FoxPro.Sybase.ODBC及ADO,你可以从 http://php.weblogs.com/adodb下载 ADODB. 2.安装下载 tgz或 zip解压即可. 3.使用使用前包含进 adodb.inc.php即可include("$adodb_path/adodb.inc.php&qu