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

通过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));