首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

通过ADO操作ORACLE数据库有关问题

2012-01-26 
通过ADO操作ORACLE数据库问题1、不能通过AddNew来向数据库中添加数据,一添加数据就出现抛出异常。2、不能通过

通过ADO操作ORACLE数据库问题
1、不能通过AddNew来向数据库中添加数据,一添加数据就出现抛出异常。
2、不能通过打开Recordset来查询BLOB类型的数据
_ConnectionPtr   pConn;
_RecordsetPtr     pRs;

HRESULT   hr;
int   nID;
byte   *pPhoto;
TRY
{
        hr   =   pConn.CreateInstance(__uuidof(Connection));
        if   (FALIED(hr))
        {
                return;
        }
       
        hr   =   pRs.CreateInstance(__uuidof(Recordset));
        if   (FAILED(hr))
        {
                pConn.Release();
                return;
          }

        pConn-> Open( "Provider=MSDAORA;Data   Source=CAS;USER   Id=ORACLECY;Password=123; ", " ", " ",adModeUnkown);
     

      pRs-> Open( "SELECT   ID,NAME,PHOTO   FROM   CAS.USERINFO ",_variant((IDispath   *)pConn,true),adOpenDynamic,adLockOptimistic,adCmdText);

    pRes-> AddNew();
    pRs-> Fields-> GetItem( "ID ")-> value   =   nID;       //这里就抛出异常
  .....
 


不知道为什么?

[解决办法]
pRs-> Fields-> GetItem( "ID ")-> value = (long)nID; //这里就抛出异常

[解决办法]
请使用 PutValue :
pRs-> Fields-> GetItem( "ID ")-> PutValue(_bstr_t(nID));

热点排行