初学VC++,如何用ADO向数据库中添加记录?给一个例子也可以。还有就是想知道添加到ACCESS数据库的数据要求什么结构的?如果是一个LONG 型的数据要怎么转换?
是否二进制型的数据一定要通过转换成LONG型的才可以加入到数据库中?

解决方案 »

  1.   

    //=================================================
    //以下演示用Connection的Execute方法添加记录
    //Command比较适合存储过程,这里就不做演示了
    //添加的是同级节点,也就和是选中项同属一个父级节点的子项
    //===================================================

    strItem.Format("%d",dlg.m_pid);
    strSql="INSERT INTO NodeTree(NodeName,ParentID,Detail) 
    VALUES('"+dlg.m_NodeName+"',"+strItem+",'"+dlg.m_Detail+"')";
    m_pConnection->Execute((_bstr_t)strSql,&vNULL,adCmdText);
    CCTreeDemoDlg::ShowTree();
      

  2.   

    用SQL语句 insert into 就可以呀
      

  3.   

    是这样的,我要把一个CString code=110; 的数据添加到数据库中,我数据库中该字段选了数字类型。我用
    _RecordsetPtr r;
    初始化后打开记录集再用:
    r->AddNew();
    r->PutCollect("actcode",code.AllocSysString());
    r->Update();
    r->Close();
    r->NULL;就是这样一段程序,中间用了try...catch..捕捉错误。总说runtime error!然后就结束程序了!
    能告诉程序哪里错了吗?
      

  4.   

    难道你的数据表里面只有actcode这一个字段吗?
    你为什么不试试用SQL
    _bstr_t SQL = "insert into youtable values(";
    SQL = SQL + code + ",//其它字段
    如果你的表不止一个字段,而actcode又不是关键字段的话
    你的代码肯定会有问题的。。
    你用单步调试一下不就知道哪错了吗?
    我觉得r->PutCollect("actcode",code.AllocSysString());有问题。
    我从来不这样加数据的。
      

  5.   

    Of course you can use _RecordsetPtr::PutCollect()  or  _RecordsetPtr::Open(),in the function _RecordsetPtr::Open() you can use sql language (INSERT) in the first parameter. And you can use _RecordsetPtr::Insert()