结束了近一个星期的VC数据库编程,我觉得有必要总结一下

本文介绍了VC++中数据库编程的基本概念和技术,重点讲解了ADO类的使用方法,并提供了连接Access数据库的具体实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      数据库编程作为vc++开发的重要组成部分,一开始我觉得用处不大放一边就去编程了。后来发现其实做数据存储时,还是有数据库做平台比较合适,毕竟当数据量大的时候,你再用文件保存会觉得十分别扭。

       数据库的ADO类作为VC++支持数据库编程的基础类。ADO实际上就是由一组Automation对象构成的组件,因此可以像像使用其他Automation对象一样使用ADO。ADO中有三个最重要的对象——Connection、Command和Recordset,他们分别表示连接对象,命令对象和记录对象。

      在使用ADO类之前,需要用以下一段代码将ADO库导入VC++中,

#import “C:/Program Files/Common Files/System/ADO/msado15.dll” / no_namespace  rename(“EOF”, “adoEOF”)

     连接数据库的方式有许多,我存在项目开发的VC++教程中有详细记录。一般我们采用的连接Access数据库。

_ConnectionPtr m_pConnection;//一个指向连接对象的指针

_RecordsetPtr m_pRecordset;//一个指向记录对象的指针

_bstr_t strConnection=”Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:/data.mdb;Persist Security Info=False”;

m_pConnection->Open(strConnection,””, “”,adModeUnknown);//设置连接语句,包括数据源位置、用户名、密码和打开模式。

…………………………

m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录对象

m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);//得到记录内容

m_pConnection->Execute(bstrSQL,NULL,adCmdText);//执行bstrSQL语句

……………………………

至此,剩下的自己看书吧!

需要注意的是Data Source=C:/data,需要的一级目录。多一级程序就找不到了,又或者你直接将数据源拷贝到程序目录下他就不会到处找了(我很郁闷为什么微软搞什么东东啊,我差点以为这个问题重码)。其次就是这条strConnection=”Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:/data.mdb;Persist Security Info=False”;语句要一次性写完。虽然很长,但一手动换行VC6.0又认不了了,真郁闷!

还有要注意的是那些无厘头的SQL语句,SQL语句和简单的,但是一旦和VC的字符串结合在一起就容易搞混。特别是你在用翻版书的时候,你就不指望这部分的代码能够完全印刷正确。我用了正版的也错误一大堆。这时候出错你要靠经验和细心慢慢找出来。尤其是一些双引号,单引号什么的。

还有就是库函数的#include问题,编译不过经常就是这个。一般高级一点的教程不会花时间告诉你在哪里#include 哪个.h文件头的。自己自觉做好工作。

来到数据库编程,我的VC学习也差不多到尾声了。剩下的就是自己的实践和应用了。有几点我深有体会。

VC开发越深入,所涉及的代码往往是二次曲线、甚至是指数级的增长。出错成了家常便饭。我经常是30%的时间再写程序,剩下的70%就花在改错和重码身上了。用一个比喻就是。完成一个程序就相当于去参加一次只能考一百分的考试,这场考试没有时间限制知道你拿到一百分才可以离开。程序员的世界是完美的,没有一半的概念,只有0或者是1。你必须全心全意地用心去开发。强调用心,用心是避免错误的保证。我常用的是部分保存法。开发一个工程势必会涉及很多类。开发的时候把基本的类和对象调试完后,保存到一个备用文件夹或者把阶段性的成果保存好以备程序无法挽回时做还原点。再有一点,也是最重要的一点。牢记:你没有时间用心做好工程,却有时间一遍又一遍的返工甚至是重码。程序员的前提是沉着、稳重、细心。无论你是黑客还是设计师。二进制的世界里,每一点疏忽都是别人秒杀你的弱点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值