ODBC数据库添加记录问题
xbgs 2004-03-23 10:10:03 我用的SQL SERVER2000数据库,建立了一个数据库,有3个表,我都连接到了。
在CXXVIEW::ONINITIAL()中打开数据库:
m_pSet=&GetDocument->Creodset;
m_pSet->open(afx_defaltu_ ,
NULL,
Crecordset::canbookmarks|Crecordset::none);
然后一句是。。。oninitial();
其中第二句是我加的打开数据库的语句。
然后再创建一个函数 onadd()用来给数据库添加记录:
001 :if(!m_pSet->IsOpen()) return;
002 :if(!m_pSet->CanUpdate()) return;
003 :if(!m_pSet->CanBookMar()) return;
m_pSet->AddNew();
写字段到数据库;
m_pSet->update();
m_pSet_>Query();
我的问题是:当我没有在ONINITIAL()函数中加 m_pSet->open()这句时,001行和002行和003行不能通过, 在m_pSet->open()函数中的第三个参数加上Crecordset::canbookmarks参数时,003行可以通过了, 但是不管怎么修改m_pSet->open()参数,002行就是不能通过,所以m_pSet->AddNew()也不能通过,这说明数据库是只读的,但是在m_pSet->open()中已经设置为可以添加新记录的了,为什么还是通不过,程序执行时就提示: 记录集为只读!