作者:Cynthia番茄际_382 | 来源:互联网 | 2023-05-19 16:33
odbc访问access数据库,要先用cdatabase类连接数据源,我想问的是1首先建一个cdatabase类的对象,这个定义在哪个mfc类中进行,为什么要在doc类中呢,如果在doc类中建立
odbc访问access数据库,要先用cdatabase类连接数据源,我想问的是
1 首先建一个cdatabase类的对象,这个定义在哪个mfc类中进行,为什么要在doc类中呢,如果在doc类中建立的话,在doc的哪个函数中呢
2 cdatabase类的open连接数据库,在哪个类中连接,close呢?
3 还有crecordset对象的定义,在哪个类中啊,必须在doc类中吗,
4 在数据库的查询,删除,添加这些功能之前,每个功能都要用cdatabase.open(),和CRecordset.open做判断吗?每次用完了还要用close关闭吗?
有没有写好的代码能让我看一下,如果看一下我想,我会明白的!
谢谢!
4 个解决方案
用ADO操作数据吧,cdatabase应该是已淘汰了,新版的VC不知道是不是还有它,ADO的例子网上一大堆好使的
1 首先建一个cdatabase类的对象,这个定义在哪个mfc类中进行?
可以在任何类中进行,只要你能方便的访问到,一般是一个程序只有一个CDatabase就可以共享,所以一般放在DOC中,而放在DOC中是因为MFC的架构是View负责显示,Doc负责从后台读取数据;
2 cdatabase类的open连接数据库,在哪个类中连接,close呢?
一般在doc的构造函数中open,在析构函数中close就可以
3 还有crecordset对象的定义,在哪个类中啊,必须在doc类中吗?
可以在需要的任何地方定义,就当是一普通的类变量,只是你要能访问到CDatabase对象
4 在数据库的查询,删除,添加这些功能之前,每个功能都要用cdatabase.open(),和CRecordset.open做判断吗?每次用完了还要用close关闭吗?
良好的习惯是每次使用前进行判断,CDatabase不要每次都Close,在程序退出时一次Close就可以
声明一点:ODBC的方法是比较过时的技术了,建议使用Ole DB比ADO更快更直接,ADO是包装了ole DB