vc链接数据库和操作数据库的函数清单

简介:
                       vc链接数据库和操作数据库的函数清单
 
         这是我写的一个类,类名是ADOConn.cpp和ADOConn.h,主要作用就是把vc链接数据库和操作数据库的函数清单写在了这里面。把这个类加进vc中是可以直接运行的,你直接调用就行了。改一些路径,他可以对access,SqlServer等数据库进行很好的操作。
         第一个是ADOConn.cpp
InBlock.gif // ADOConn.cpp: implementation of the ADOConn class. 
/////////////////////////////// 
InBlock.gif 
InBlock.gif#include  "stdafx.h" 
InBlock.gif#include  "myshoujiDlg.h"      //主函数 
InBlock.gif#include  "ADOConn.h" 
InBlock.gif 
InBlock.gif#ifdef _DEBUG 
InBlock.gif#undef THIS_FILE 
InBlock.gif static  char THIS_FILE[]=__FILE__; 
InBlock.gif#define  new DEBUG_NEW 
InBlock.gif#endif 
/////////////////////////////// 
InBlock.gif // Construction/Destruction 
//////////////////////////////// 
InBlock.gif 
InBlock.gifADOConn::ADOConn() 
InBlock.gif
InBlock.gif 
InBlock.gif
InBlock.gif 
InBlock.gifADOConn::~ADOConn() 
InBlock.gif
InBlock.gif 
InBlock.gif
InBlock.gif 
InBlock.gif void ADOConn::OnInitADOConn()                                       //以调用access为例,其实调用SqlServer等也是一样的
InBlock.gif
InBlock.gif  ::CoInitialize(NULL);      //初始化COM组件 
InBlock.gif   try 
InBlock.gif  { 
InBlock.gif             m_pConnection.CreateInstance( "ADODB.Connection"); 
InBlock.gif        _bstr_t strConnect= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=shouji.mdb";              //链接数据库,这里是shouji数据库,可以根据具体情况改 
InBlock.gif        m_pConnection->Open(strConnect, "","",adModeUnknown); 
InBlock.gif  } 
InBlock.gif   catch(_com_error e) 
InBlock.gif  { 
InBlock.gif    AfxMessageBox(e.Description()); 
InBlock.gif  } 
InBlock.gif
InBlock.gif 
InBlock.gif_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL) 
InBlock.gif
InBlock.gif         try 
InBlock.gif  { 
InBlock.gif     if(m_pConnection==NULL) 
InBlock.gif                            OnInitADOConn(); 
InBlock.gif    m_pRecordset.CreateInstance(__uuidof(Recordset)); 
InBlock.gif                m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
InBlock.gif  } 
InBlock.gif         catch(_com_error e)                         //捕捉异常 
InBlock.gif  { 
InBlock.gif    e.Description(); 
InBlock.gif  } 
InBlock.gif   return m_pRecordset; 
InBlock.gif
InBlock.gif 
InBlock.gifBOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)         //再打开数据库后,执行Sql语句 
InBlock.gif
InBlock.gif  _variant_t RecordsAffected; 
InBlock.gif   try 
InBlock.gif  { 
InBlock.gif                 if(m_pConnection==NULL) 
InBlock.gif              OnInitADOConn(); 
InBlock.gif                m_pConnection->Execute(bstrSQL,NULL,adCmdText); 
InBlock.gif     return  true
InBlock.gif  } 
InBlock.gif   catch(_com_error e) 
InBlock.gif  { 
InBlock.gif    e.Description(); 
InBlock.gif     return  false
InBlock.gif  } 
InBlock.gif
InBlock.gif 
InBlock.gif void ADOConn::ExitConnect()                     //退出链接 
InBlock.gif
InBlock.gif         if(m_pRecordset!=NULL) 
InBlock.gif    m_pRecordset->Close(); 
InBlock.gif  m_pConnection->Close(); 
InBlock.gif  ::CoUninitialize(); 
InBlock.gif}
第二个是ADOConn.h
InBlock.gif // ADOConn.h: interface for the ADOConn class. 
//////////////////////////////// 
InBlock.gif 
InBlock.gif# if !defined(AFX_ADOCONN_H__A2B6E8CE_2220_4830_95F8_2911D1EAC453__INCLUDED_) 
InBlock.gif#define AFX_ADOCONN_H__A2B6E8CE_2220_4830_95F8_2911D1EAC453__INCLUDED_ 
InBlock.gif#import  "C:\program files\common files\system\ado\msado15.dll" no_namespace rename( "EOF", "adoEOF"
InBlock.gif 
InBlock.gif# if _MSC_VER > 1000 
InBlock.gif#pragma once 
InBlock.gif#endif  // _MSC_VER > 1000 
InBlock.gif 
InBlock.gif class ADOConn     
InBlock.gif
InBlock.gif public
InBlock.gif        _ConnectionPtr m_pConnection; 
InBlock.gif  _RecordsetPtr m_pRecordset; 
InBlock.gif public
InBlock.gif  ADOConn(); 
InBlock.gif   virtual ~ADOConn(); 
InBlock.gif 
InBlock.gif   void OnInitADOConn(); 
InBlock.gif        _RecordsetPtr&GetRecordSet(_bstr_t bstrSQL); 
InBlock.gif        BOOL ExecuteSQL(_bstr_t bstrSQL); 
InBlock.gif   void ExitConnect(); 
InBlock.gif 
InBlock.gif}; 
InBlock.gif 
InBlock.gif#endif  // !defined(AFX_ADOCONN_H__A2B6E8CE_2220_4830_95F8_2911D1EAC453__INCLUDED_) 
         希望对你有所帮助。



     本文转自阿龙哥 51CTO博客,原文链接:http://blog.51cto.com/ililong/284962 ,如需转载请自行联系原作者





相关文章
|
29天前
|
SQL 数据库连接 数据库
你不知道ADo.Net中操作数据库的步骤【超详细整理】
你不知道ADo.Net中操作数据库的步骤【超详细整理】
16 0
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
28 0
|
3月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
34 0
|
2天前
|
SQL JavaScript API
❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)
【4月更文挑战第4天】❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)在Node.js中实现删除本地数据库记录的操作。首先尝试通过SQL删除ID为8的用户,然后编写`app.delete`路由处理程序,从请求体获取ID并执行删除。。最终成功删除用户并展示了数据库的更新结果。下一节将优化增删改查功能。
15 1
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
|
1月前
|
SQL 存储 关系型数据库
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
|
1月前
|
SQL JavaScript 关系型数据库
js链接sql数据库
js链接sql数据库
|
1月前
|
SQL 数据库连接 API
python链接数据库,实现数据增删改查
python链接数据库,实现数据增删改查
23 7
|
1月前
|
SQL 存储 关系型数据库
数据库迁移mssql to pgsql之函数转换
数据库迁移mssql to pgsql之函数转换
|
2月前
|
Oracle 关系型数据库 Java
plsql链接远程Oracle数据库步骤
实际工作中,我们往往需要使用 PLSQL Develope 工具连接远程服务器上的 ORACLE 数据库进行管理,但是由于 ORACLE 安装在本地电脑步骤繁琐,并且会耗费电脑的很大一部分资源,因此,我们寻求一种不需要在本地安装 ORACLE 数据库而能直接使用 PLSQL Develope 工具连接到远程服务器 ORACLE 的方法。
39 2