赞
踩
首先,描述一下我遇到的问题:我自己封装ADO,将其封装成数据库操作类,在调用连接函数没有问题,是连接上Access数据库的,但我在调用查询或者插入等操作函数时问题出现了,出现的就是标题中的问题,在网上找了很久没有跟我相同情况的,今晚我解决了这个问题,所以想和大家分享一下,希望可以帮到大家。
我的问题出现的原因:是因为在不同函数中所用的类不是一个对象。假设我我的类如下:
class A
{
public:
bool connect();
int insert();
//其他成员函数以及数据成员省略
}
我在初始化函数中创建了一个对象:A a; 然后运行 a.connect();连接上了数据库,我在另外一个cpp文件里面要调用insert(),又创建了一个对象:A b;然后b.insert();这时候运行程序就出现了问题。
解决方案:这里需要将类封装为单例类。(关于单例类可以自己百度,找一个带程序的看懂就行)。这里提供一个链接http://blog.csdn.net/boyxiaolong/article/details/6645681
封装成单例类后,在整个工程中使用对象都是唯一一个实例,这个问题便迎刃而解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。