我在MFC中通过ADO连接了mysql,查询表内的数据都没问题,今天想去修改表中的一个数据,通过:
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),AdOpenDynamic,adLockOptimistic,adCmdText);
得到了一个记录集,然后通过:
pSet->PutCollect("什么东西",_variant_t(comment));
CString comment_1=(LPCTSTR)(_bstr_t)pSet->GetCollect("什么东西");
AfxMessageBox(comment_1);
pSet->Update();
想去修改表中的其中一行的某个数据,AfxMessageBox弹出的数据是对的,但是在mysql里面去查看数据却没有改变,请教各位是什么原因呢?
另外用pSet->AddNew()的方法又可以添加成功数据。
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),AdOpenDynamic,adLockOptimistic,adCmdText);
得到了一个记录集,然后通过:
pSet->PutCollect("什么东西",_variant_t(comment));
CString comment_1=(LPCTSTR)(_bstr_t)pSet->GetCollect("什么东西");
AfxMessageBox(comment_1);
pSet->Update();
想去修改表中的其中一行的某个数据,AfxMessageBox弹出的数据是对的,但是在mysql里面去查看数据却没有改变,请教各位是什么原因呢?
另外用pSet->AddNew()的方法又可以添加成功数据。
哈哈。改成了adOpenForwardOnly以后就可以了。修改和删除都能执行。
但目前只知道然,不知道所以然。
我只改了光标的类型,为什么对写数据会有影响呢?或者是对写没有影响,是对UpDate()有影响,我对它的机制不了解,可以给我科普一下吗?