关于cdatebase 与crecordset类的关系和用法
学c++时,书上有这样的代码看不懂Cloginset*m_recordset=newCloginset(&m_database)Cloginset是Crecordset的...
学c++时,书上有这样的代码看不懂
Cloginset *m_recordset=new Cloginset(&m_database)
Cloginset 是Crecordset的派生类,Cloginset创建的时候已经选择了数据源和对应的表,为什么构造函数中还要加上参数(&m_database)为什么不是Cloginset *m_recordset=new Cloginset()这样也操作对应的表啊。
然后呢还有一段代码 m_database.ExecuteSQL (strsql) 书上讲的很粗略,这个对象m_datebase 连接数据库的代码应该写在程序的什么地方呢。什么时候调用m_datebase.close()来关掉数据源呢, 展开
Cloginset *m_recordset=new Cloginset(&m_database)
Cloginset 是Crecordset的派生类,Cloginset创建的时候已经选择了数据源和对应的表,为什么构造函数中还要加上参数(&m_database)为什么不是Cloginset *m_recordset=new Cloginset()这样也操作对应的表啊。
然后呢还有一段代码 m_database.ExecuteSQL (strsql) 书上讲的很粗略,这个对象m_datebase 连接数据库的代码应该写在程序的什么地方呢。什么时候调用m_datebase.close()来关掉数据源呢, 展开
1个回答
2013-07-29
展开全部
参数可以指定数据库,可以动态更换,你看看MSDN的CRecordset的说明,如果没有参数的话该类为会直接调用Open连接数据库的,Cloginset里的数据库可能是没有,你仔细看看,也可能是默认数据库,不知道继承之后做了哪些修改,得看具体的实现
m_database.close()应该在不需要读取数据时及时断开以节省数据库的连接池,或者在对象的析构函数里调用该函数,当数据库对象销毁时自动断开连接,具体要看你的设计
m_database.close()应该在不需要读取数据时及时断开以节省数据库的连接池,或者在对象的析构函数里调用该函数,当数据库对象销毁时自动断开连接,具体要看你的设计
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询