插入数据时候弹出上面 图片显示的错误,但是在表中却又实际上已经插入成功?
不知道这是怎么回事?这错误提示是什么原因造成的?谢谢 这是插入时候代码CString str = "insert into test0806 values('10','150','2000-8-18')";
_bstr_t bstrsql = (_bstr_t)str;
m_rs = m_encaAdo.ExecuteSQL(bstrsql);
其中m_rs的类型为 _RecordsetPtr
不知道这是怎么回事?这错误提示是什么原因造成的?谢谢 这是插入时候代码CString str = "insert into test0806 values('10','150','2000-8-18')";
_bstr_t bstrsql = (_bstr_t)str;
m_rs = m_encaAdo.ExecuteSQL(bstrsql);
其中m_rs的类型为 _RecordsetPtr
BOOL EncaADO::ExecuteSQL(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL
¦ ¦ m_pConnection->State == adStateClosed)
{
InitADOConn();
}m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}
代码为:
try
{
CString str = "insert into test0806 values('98','150','2000-8-18')";
_bstr_t bstrsql = (_bstr_t)str;
m_rs = m_encaAdo.ExecuteSQL(bstrsql);
}
catch(_com_error &e)
{
CString strErrDescribe;
strErrDescribe.Format("Exception thrown for classes generated by #import"
"\tCode = %81x\n"
"\tCode meaning = %s\n"
"\tSource = %s\n"
"\tDescription = %s\n",
e.Error(),
e.ErrorMessage(),
(LPCTSTR)(e.Source()),
(LPCTSTR)(e.Description()));
TRACE("%s %s\r\n", (LPCTSTR)e.Source(),(LPCSTR)e.Description());
char sLog[1024] = {0};
sprintf(sLog, "%s %s %s", e.ErrorMessage(),(LPCTSTR)e.Source(), (LPCSTR)e.Description());
// WriteLog(sLog,0);
AfxMessageBox(sLog);
} 现在提示是:无效指针
可是我不知道是怎么回事,初始化的地方都没落下啊,哪为兄弟指点下
谢谢了
_bstr_t bstrsql = (_bstr_t)str;
m_rs = m_encaAdo.ExecuteSQL(bstrsql); 看看你上面的代码~
注意~ insert语句执行后是不会返回记录集的..只有select语句才返回~ 也就是说,你上面的代码,如果是执行的select语句不会发生异常..但insert插入语句不行~
改成如下即可:
CString str = "insert into test0806 values('10','150','2000-8-18')";
_bstr_t bstrsql = (_bstr_t)str;
m_encaAdo.ExecuteSQL(bstrsql);