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 ,如需转载请自行联系原作者





相关文章
|
1天前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
6天前
|
数据库连接 网络安全 数据库
网站链接数据库失败,重启网站好了
网站链接数据库失败,重启网站好了
|
14天前
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
38 10
|
13天前
|
Java 关系型数据库 MySQL
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
|
2月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
186 0
|
2月前
|
监控 数据可视化 前端开发
基于python django生产数据与计划大屏,可链接数据库
本文介绍了一个基于Python Django框架开发的生产数据与计划大屏系统,该系统能够实时采集和展示生产数据,支持数据可视化和实时更新,以提高生产监控的效率和质量。
|
3月前
|
缓存 分布式计算 DataWorks
DataWorks操作报错合集之连接数据库时出现了通信链接失败的报错,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3月前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错合集之cdc postgres数据库,当表行记录修改后报错,该如何修改
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3月前
|
SQL 监控 关系型数据库
实时计算 Flink版操作报错合集之在设置监控PostgreSQL数据库时,将wal_level设置为logical,出现一些表更新和删除操作报错,怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3月前
|
关系型数据库 Java 数据库
实时计算 Flink版操作报错合集之flinksql采PG数据库时报错,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。