GetInterface()!=0写入数据库表时出错

Debug Assertion Failed Expression: GetInterface()!=0 error when writing to database table

本文关键字:数据库 出错 GetInterface      更新时间:2023-10-16

我在一个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成员