执行下面这条语句
CString sql_;
sql_.Format("DELETE FROM DEVICE WHERE CODE='%s',m_code);
_bstr_t sql=sql_;
m_DBCnt->Execute(sql,NULL,adCmdText);
总是提示“IDispatch error #3092"
是什么原因,高手指教

解决方案 »

  1.   

    DELETE FROM DEVICE WHERE CODE='%s',m_code中的 m_code 是什么?
    3029应该是记录主键冲突的意思,但你做的是delete
      

  2.   

    m_code 是对话框中一个编辑框对应的变量
      

  3.   

    _ConnectionPtr m_pConn;
        CString m_sConn="Provider=SQLOLEDB.1;Data Source=192.168.3.9;Initial 
    Catalog=sode"; //sode是数据库服务器192.168.3.9上的一个数据库
        m_pConn.CreateInstance("ADODB.Connection");
        try
        {
            HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"sa","mapper",adConnectUnspecified);    
            if (FAILED(hr))
            {
                AfxMessageBox("不能连接数据库 source!");
                return FALSE;
            }
        }
        catch(_com_error e)
        {
            AfxMessageBox("不能连接数据库 error!");
            return FALSE;
        }