CDatabase类和CRecordset类区别与联系
两者都是MFC的数据库类这是最大的联系。可以用CDatabase开打数据库,用CRecordset读取记录。
一个CDatabase类对象代表与数据库的一个连接。而一个CRecordset对象,代表一个数据源检索出的一条记录。
下面是两者执行SQL语句的区别。
CRecordset类通过open(..)可以执行sql语句,并且将记录集存在对象中 2 CDatabase类通过ExecuteSql(..)执行创建 插入,删除,修改等不返回记录集操作
第一种用法:
CDatabase dw;
dw.Open(_T("MaGic"),false,false,_T("ODBC;DSN=SQLServer"),false);
CRecordset ss(&dw);
BOOL bret= ss.Open(AFX_DB_USE_DEFAULT_TYPE,_T("Select word From vSingleWord Where word='啊'"));
第二个用法:
CDatabase dw;
dw.Open(_T("MaGic"),false,false,_T("ODBC;DSN=SQLServer"),false);
dw.ExecuteSql(_T("Select word From vSingleWord Where word='啊'");
另外:CRecordset一个对象对应一个记录集,如果需第二次再查询返回新的记录集,需重新定义新的对象。
下面有我的一段代码