CString str;
str.Format(_T("……")); m_pConnection->CursorLocation=adUseServer;
m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
m_pRecordset->Open(str.GetString(),_variant_t( (IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);这段我放到C...Dlg的一个成员函数里了,m_pConnection和m_pRecordset也是成员变量。那我在调用这个函数之后,在其他的函数里使用SQl语句的时候,还用再
m_pConnection->CursorLocation=adUseServer;
m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
吗?删除一条记录的时候出_com_error,不知道是不是没加这两句的原因
加异常捕获看是什么错误
try
{
//你的ADO代码
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}
Unknow error: 0x800A0E79
这是个什么错误?
CString DeleteIndex;
DeleteIndex.Format(_T("DELETE FROM Table_1 WHERE 交易序号='%04d%02d%02d%02d%02d%02d'"),
datepicked.wYear,datepicked.wMonth,datepicked.wDay,
timepicked.wHour,timepicked.wMinute,timepicked.wSecond);
MessageBox(DeleteIndex.GetString(),0,MB_OK); try
{
m_pRecordset->Open(DeleteIndex.GetString(),_variant_t( (IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);// m_pRecordset->Update();
// m_pRecordset->Requery(NULL);
}
catch(_com_error e)
{
CString log;
log.Format(_T("删除失败,失败原因:%s"),e.ErrorMessage()); Writelog(log);
}
改成
log.Format(_T("删除失败,失败原因:%s"),e.Description());