在Visual C++中用ADO进行数据库编程

转载自VCKBASE:http://www.vckbase.com/document/viewdoc/?id=307

1. 生成应用程序框架并初始化OLE/COM库环境

  创建一个标准的MFC AppWizard(exe)应用程序,然后在使用ADO数据库的InitInstance函数中初始化OLE/COM库(因为ADO库是一个COM DLL库)。
本例为:

 BOOL CAdotestDlg::OnInitDialog()
 {
        ::CoInitialize(NULL); //初始化OLE/COM库环境 
  } 
程序最后要调用 ::CoUninitialize();//释放程序占用的COM 资源。
另外:
m_pRecordset->Close(); 注意!!!不要多次关闭!!!!!!!!!!!!
m_pConnection->Close();
m_pRecordset = NULL;
m_pConnection = NULL; 
 2. 引入ADO库文件

  使用ADO前必须在工程的stdafx.h文件最后用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下:
#import "C:/Program Files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
   ADO类的定义是作为一种资源存储在ADO DLL(msado15.dll)中,在其内部称为类型库。类型库描述了自治接口,以及C++使用的COM vtable接口。当使用#import指令时,在运行时Visual C++需要从ADO DLL中读取这个类型库,并以此创建一组C++头文件。这些头文件具有.tli 和.tlh扩展名,读者可以在项目的目录下找到这两个文件。在C++程序代码中调用的ADO类要在这些文件中定义。
   程序的第三行指示ADO对象不使用名称空间。在有些应用程序中,由于应用程序中的对象与ADO中的对象之间可能会出现命名冲突,所以有必要使用名称空间。如果要使用名称空间,则可把第三行程序修改为: rename_namespace("AdoNS")。第四行代码将ADO中的EOF(文件结束)更名为adoEOF,以避免与定义了自己的EOF的其他库冲突。

 3.利用智能指针进行数据库操作

  在CaboutDlg头文件中定义两个ADO智能指针类实例,并在对话框中加入一个ListCtrl。
 
 class CAdotestDlg : public CDialog
{
     _ConnectionPtr m_pConnection;
     _RecordsetPtr m_pRecordset;
   ClistCtrl m_List; 
     ......
}     
ADO库包含三个智能指针:_ConnectionPtr、_CommandPtr和_RecordsetPtr。

_ConnectionPtr通常被用来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。
_CommandPtr返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定、游标控制等。

  在使用ADO程序的事件响应中OnButton1加入以下代码:
 
void CAdotestDlg::OnButton1() 
{
	m_List.ResetContent();
	m_pConnection.CreateInst
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual C++是一种集成开发环境(IDE),用于开发基于C++的应用程序。SQL Server是一种关系型数据库管理系统。下面通过一个应用实例来完整解析Visual C++SQL Server数据库的应用。 假设我们需要开发一个学生信息管理系统,利用Visual C++开发界面,并将学生信息存储在SQL Server数据库中。 首先,我们需要在Visual C++中创建一个新的项目,选择Windows桌面应用程序。然后,在界面设计中布局各种控件,如文本框、按钮等,用于接收和显示学生信息。 接下来,我们需要编写C++代码来与SQL Server数据库进行交互。我们可以使用SQL Server提供的ODBC或OLE DB连接来建立与数据库的链接,并执行SQL查询以获取和更新学生的信息。 在代码中,我们可以使用SQL语句来创建数据库表格、插入新的学生信息、更新学生信息或者删除学生信息。我们还可以利用C++的数据结构和指针等特性来处理从数据库中获取的数据,实现界面和数据库的交互。 最后,我们需要进行测试。我们可以在Visual C++中直接运行程序,并输入不同的学生信息进行测试。我们还可以在SQL Server Management Studio中查看数据库的变化,确保我们的程序与数据库的交互是正确的。 通过以上的实例,我们可以看到Visual C++SQL Server数据库的应用是如何完整交互的。Visual C++作为开发工具提供了强大的界面设计和编程功能,而SQL Server作为数据库管理系统可以有效地存储和管理数据,二者配合使用可以实现强大的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值