我在一个MFC项目中工作,该项目在我的SQL Server上通信特定的表。但是当我尝试删除查询时,我在运行时得到调试断言失败的错误消息,当我检查我的表时也没有删除任何内容。这是我认为错误所在的代码:
<pre> HRESULT hr;
hr=COLEDBTESTSetAccessor::OpenDataSource();
if(FAILED(hr))
MessageBox(NULL,"Connection Failedn","",MB_OK);
else
MessageBox(NULL,"Connectedn","",MB_OK);
CString strString;
strString.Append("DELETE FROM PHONE_NUMBERS WHERE ID=");
CString strParam;
strParam.Format("%d",nId);
strString.Append(strParam);
MessageBox(NULL,(LPCSTR)strString,"",MB_OK);
hr=this->Open(m_session,strString); <code>
同样的情况也发生在Update和Insert Query中,但是表记录被更新了。谁能告诉我我错在哪里?谢谢你!:)
我看不出你从哪个基类派生你的类。我假设您有一个Command对象。
所以发生的是你已经用Open调用执行了一个操作。但是,在打开操作之后,您需要一个关闭操作,然后才能再次使用带有新语句和打开操作的命令。
查看m_spCommand成员