社区
数据库
帖子详情
如何用VC操作数据库
fbiboss
2003-08-26 10:12:40
生成数据库,生成表,添加记录等,
或者哪有这方面的资料了??
...全文
146
3
打赏
收藏
如何用VC操作数据库
生成数据库,生成表,添加记录等, 或者哪有这方面的资料了??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
commandconque
2003-08-26
打赏
举报
回复
我只能给你ADO的帮助:我从网上下载一片文章,你可以参考以下:
http://cdlist.myrice.com
在Visual C++中用ADO进行数据库编程
ActiveX数据对象(ADO)是OLE DB上面的高层数据库API。我们在C++程序中也可以调用ADO。本文将在VC 6.0环境下做一个小小的例子解释如何使用ADO。
1. 生成应用程序框架并初始化OLE/COM库环境
创建一个标准的MFC AppWizard(exe)应用程序,然后在应用程序类的InitInstance函数中初始化OLE/COM库(因为ADO库是一个COM DLL库)。
BOOL CADOTestApp::InitInstance()
{ //初始化OLE/COM库环境
AfxOleInit();}
2. 引入ADO库文件
使用ADO前必须在工程的stdafx.h文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下:
#include 〈comdef.h〉
#import ″c:\program files\common files\system\ado\msado15.dll″
no_namespace
rename (″EOF″, ″adoEOF″)
头文件comdef.h使我们的应用程序能够使用Visual C++中的一些特殊COM支持类,这些类使得处理OLE自治更为容易一些,OLE自治是ADO使用的数据类型。后三行使用#import指令在我们的应用程序中输入ADO类库定义。
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。
—ConnectionPtr m—pConnection;
—RecordsetPtr m—pRecordset;
ClistCtrl m—List;
ADO库包含三个智能指针:—ConnectionPtr、—CommandPtr和—RecordsetPtr。
—ConnectionPtr通常被用来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。
—CommandPtr返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用—CommandPtr接口时,可以利用全局—ConnectionPtr接口,也可以在—CommandPtr接口里直接使用连接串。
—RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定、游标控制等。
在OnInitDialog()中加入以下代码:
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
—variant—t TheValue;
m—List.ResetContent();
m—pConnection.CreateInstance(—uuidof(Connection));
m—pRecordset.CreateInstance(—uuidof(Recordset));
try{
m—pConnection-〉Open(″DSN=ADOTest″,″″,″″,0); //连接叫作ADOTest的ODBC数据源
m—pRecordset-〉Open(″SELECT FROM BlockDefine″,(IDispatch)m—pConnection,
:adOpenDynamic,
adLockOptimistic,
adCmdText);
//执行SQL语句得到一个记录集
while(!m—pRecordset-〉adoEOF)
//遍历所有记录
{
TheValue = m—pRecordset-〉GetCollect(″BlockIndex″);
//得到字段BlockIndex的值
if(TheValue.vt!=VT—NULL)
m—List.AddString((char)—bstr—t(TheValue)); //将该值加入到列表控件中
m—pRecordset-〉MoveNext();
: }
m—pRecordset-〉Close();
m—pConnection-〉Close();
}
catch(—com—error e) //异常处理
{
CString Error = e-〉ErrorMessage();
AfxMessageBox(e-〉ErrorMessage());
}
m—pRecordset = NULL;
m—pConnection = NULL;
return TRUE; // return TRUE unless you set the focus to a control
}
程序中通过—variant—t和—bstr—t转换COM对象和C++类型的数据, —variant—t类封装了OLE自治VARIANT数据类型。在C++中使用—variant—t类要比直接使用VARIANT数据类型容易得多。
好,编译后该程序就能运行了,但记住运行前要创建一个叫ADOTest的ODBC数据源。该程序将把表BlockDefine中的BlockIndex字段值显示在列表控件中。
思危
2003-08-26
打赏
举报
回复
VC对ODBC、DAO、OLE DB提供了直接支持,这要看你的具体要求。
ADO要自己做工作,比如导入ADO类等。
通常使用ODBC和ADO
fbiboss
2003-08-26
打赏
举报
回复
网上说VC提供的数据库的访问方法有很多种,
ODBC、DAO、OLEDB、ADO
我该学哪个呀?
VC
数据库
编程-介绍如何使用
vc
操作
数据库
介绍如何使用
vc
操作
数据库
第1章
数据库
原理与访问
第2章 COM与
数据库
访问
第3篇 高级话题
第4章
VC
++
数据库
开发基础
第5章 ODBC API编程
第6章 MFC ODBC编程
第7章 DAO
数据库
编程
第8章 OLE DB客户
数据库
编程
第9章 ADO客户
数据库
编程
第10章 开发ADO
数据库
组件
...
mfc
vc
操作
数据库
mfc
vc
操作
数据库
用
VC
#.NET开发交互式CAD系统
用
VC
#.NET开发交互式CAD系统,包括结合GDI+和OPENGL两种方案。 联系平台客服可开发票。
VC
连接
数据库
及基本
操作
使用
VC
6.0连接sql server
数据库
,进行基本的增删查改
操作
。
VC
数据库
基本
操作
VC
数据库
基本
操作
,主要实现 对access
数据库
的基本
操作
,(增删改查)。对access 查询 以及宏
操作
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章