我正在使用下面的Tutorial来创建一个简单的MFC应用程序,问题是在表中插入新行时,应用程序显示一个错误,说明记录集是只读的。是否有需要设置的变量才能将记录集更改为写入模式?
void CSampleDBView::OnBnClickedInsert()
{
CStringW text;
m_input.GetWindowTextW(text);
m_pSet->m_student=text;
m_pSet->AddNew();
m_pSet->Update();
AfxMessageBox(text);
}这是单击按钮时添加新行的代码。m_input是从中接收要插入的文本的EditControl。
发布于 2014-11-04 04:56:22
检查CRecordset是如何打开的。如果要更新它,它需要具有类型‘CRecordset::dynamic’或CRecordset::dynamic。您对open的调用可能具有“snapshot”或其他类型。
发布的代码还有一个额外的问题。对AddNew()的调用需要出现在赋值行之前:
m_pSet->AddNew();
m_pSet->m_student=text;因为对AddNew()的调用初始化了用于跟踪哪些列已经更改了数据的标志。
https://stackoverflow.com/questions/26722748
复制相似问题