CDatabase *db=new CDatabase;
db->OpenEx(_T("DSN=table1") , CRecordset::dynaset );
rs.m_pDatabase=db;
rs.Open(CRecordset::dynaset ,"select * from table1");
然后调用
rs.Delete();
可以删除,但是出现运行时错误,怎么解决?
db->OpenEx(_T("DSN=table1") , CRecordset::dynaset );
rs.m_pDatabase=db;
rs.Open(CRecordset::dynaset ,"select * from table1");
然后调用
rs.Delete();
可以删除,但是出现运行时错误,怎么解决?
可以
用rs.AddNew();
也不可以
就是出现
ASSERT(m_nFields != 0);
怎么回事?
if(m_nFields <0)
ASSERT(FALSE);
经过跟踪发现,使用MFC Classwizard进行派生时会在构造函数中自动对m_nFields进行赋值,但是当我们自由使用CRecordset的时候就没有了这一部,当我显示的对m_nFields赋值时仍然会报错,是关于RFX的错误。没有使用关于CRecordset类的Update操作,但是看到其他朋友写的文章应该是select是不会有问题的。看来自己要把RFX那部分也补上了,后者由于时间关系没有完成。完成测试会更新该文档。怎么解决啊?
ASSERT(m_nFields != 0);