| 发表于: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); } |
|
|
|
|