大家好,我写了一个程序,可以实现用VC+ado+SQL Server、Access、oracle访问数据库,
读写数据库的代码都是一样的,只是连接数据库的时候根据数据库的不同用不同的代码连,
操作SQL Server和Access时都没有问题,但是在操作oracle时,可以读出数据,但是插入数据的时候出错了,
// 写入各字段值
m_pRecordset2->AddNew();
m_pRecordset2->PutCollect( "owner_id", _variant_t(m_OwnerId) );
m_pRecordset2->Update();跟踪发现在m_pRecordset2->AddNew();的时候出错了,不知道是什么原因?请大家帮帮忙,谢谢!其中m_pRecordset2是:
m_pRecordset2->Open("SELECT * FROM scott.carowner_info",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
连数据库的时候是:
m_pConnection->
Open("Provider=MSDAORA.1;Data Source=MYORACLE;","system","manager",adModeUnknown);连上数据库后我从m_pRecordset2中读取数据是成功了的,
但是往里面插入数据m_pRecordset2->AddNew();却出错了,?
读写数据库的代码都是一样的,只是连接数据库的时候根据数据库的不同用不同的代码连,
操作SQL Server和Access时都没有问题,但是在操作oracle时,可以读出数据,但是插入数据的时候出错了,
// 写入各字段值
m_pRecordset2->AddNew();
m_pRecordset2->PutCollect( "owner_id", _variant_t(m_OwnerId) );
m_pRecordset2->Update();跟踪发现在m_pRecordset2->AddNew();的时候出错了,不知道是什么原因?请大家帮帮忙,谢谢!其中m_pRecordset2是:
m_pRecordset2->Open("SELECT * FROM scott.carowner_info",
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
连数据库的时候是:
m_pConnection->
Open("Provider=MSDAORA.1;Data Source=MYORACLE;","system","manager",adModeUnknown);连上数据库后我从m_pRecordset2中读取数据是成功了的,
但是往里面插入数据m_pRecordset2->AddNew();却出错了,?
并且"system","manager",有写入表的权限,我用SQL Plus试过了,
帮你顶一下, 前面SELECT * FROM MYTABLE WHERE 0<>0 ,然后AddNew()的时候可以, 但是不可以Update();