您的位置:程序门 -> db2 -> 数据库开发



大侠救命,ado 连接db2的问题!!!!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


大侠救命,ado 连接db2的问题!!!!![无满意答案结贴,结贴人:jishufenxi]
发表于:2007-11-30 00:46:15 楼主
我用ado连接db2数据库,连接正常,可以读取数据,但是不能添加不能修改。我已经在db2中设置了账户的操作权限,也在windows中设置了账户和组的权限,请大侠相救。代码如下:  
try  
{  
          m_connection.createinstance("adodb.connection");  
          _bstr_t       constr="provider=ibmdadb2;data       source=dbtest";  
          m_connection->   open(constr,"","",admodeunknown);  

          m_recordset.createinstance("adodb.recordset");  
          m_recordset->   open("select       *       from       logon",m_connection.getinterfaceptr(),adopendynamic,adlockoptimistic,adcmdtext);  
          _variant_t       vid,vip;  
          while(!m_recordset->   adoeof)  
          {  
                vid       =       m_recordset->   getcollect("id");  
                vip       =       m_recordset->   getcollect("server_ip");  
                if(vid.vt       !=       vt_null       |   |       vip.vt!=vt_null)  
                trace("id:%d,ip:%s\n",vid.lval,(lpctstr)(_bstr_t)vip);  
                m_recordset->   movenext();  
          }  
          //上面的代码都正常,也能读出数据
          for(int       i=0;i   <3;i++)  
          {  
                  m_recordset->   addnew();//到这行就触发异常  
                    m_recordset->   putcollect("id",_variant_t((long)(i)));  
                  m_recordset->   putcollect("server_ip",_variant_t("1111"));  
            }  
            m_recordset->   update();  
}  
catch(_com_error       e)  
{  
      cstring       errormessage;  
      errormessage.format("数据库失败!\r\n错误信息:%s",e.errormessage());  
      afxmessagebox(errormessage);  
}
发表于:2007-11-30 00:49:091楼 得分:0
错误代码是800aocb3
发表于:2007-11-30 17:20:382楼 得分:0
直接用adodb.command对象执行insert语句行不行
发表于:2007-11-30 17:48:563楼 得分:0
command在某些条件下可以执行,好像跟connection的设置有关。倒是connection可以执行大多数sql语句
发表于:2007-12-04 22:22:214楼 得分:0
我用command执行没问题。。
另外ado有内存增长没释放,不知道lz碰到这个问题没有
发表于:2007-12-05 14:08:095楼 得分:0






快速检索

最新资讯
热门点击