问题很简单,就是我用AOD连接了数据库,用INSERT INTO 语句将一个记录插进数据库,代码如下:
void CMy12Dlg::OnButton1() 
{
         CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));

pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=项目表; Server=MAYUYAN-PC";
pConn->Open("","","",adConnectUnspecified);
    _bstr_t bstrSQL="insert into coustomer(cou_id) values('425562255899523655')";
    pConn->Execute(bstrSQL, NULL, adCmdText); 
MessageBox("恭喜你!你已成功加入你的信息");

    pConn->Close();
pConn.Release();
CoUninitialize();

但是,编译都通过了,点击对话框上的  按钮  得到如下错误:

解决方案 »

  1.   

    发现,主要是运行到pConn->Execute(bstrSQL, NULL, adCmdText); 出现了问题,不知道怎么回事,我把pConn作为框架类的成员变量,还是不可以
      

  2.   

    改成void CMy12Dlg::OnButton1() 
    {
             CoInitialize(NULL);
    try{
    _ConnectionPtr pConn(__uuidof(Connection));
    _RecordsetPtr pRst(__uuidof(Recordset));pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=项目表; Server=MAYUYAN-PC";
    pConn->Open("","","",adConnectUnspecified);
        _bstr_t bstrSQL="insert into coustomer(cou_id) values('425562255899523655')";
        pConn->Execute(bstrSQL, NULL, adCmdText); 
    MessageBox("恭喜你!你已成功加入你的信息");    pConn->Close();
    pConn.Release();
    }
    catch(_com_error *e)
    {
       AfxMessageBox(e.ErrorMessage());
    }
    CoUninitialize();

      

  3.   

    会不会是要把设置SQL数据库Commit语句为自动。或者事务什么,要设置一下,然后这个INSERT语句才能通过Execute语句上传到数据库