最好有实例及代码

解决方案 »

  1.   

    实例代码太长,这个很简单的,
    直接用AdoRecordSet中的AppendChunk或者AdoCommand+AdoParameter中的AppendChunk方法即可
    这里有一个access的例子,oracle的差不多,楼主看看http://www.vckbase.net/document/viewdoc/?id=719
      

  2.   

    1楼的朋友,谢谢你。这个我有,ODBC与ADO应该不同,我要的是ODBC
      

  3.   

    ODBC和ADO使用的是不同的驱动,代码是类似的
      

  4.   

    你是直接用odbc?用ado--》odbc--》oracle不就行了?
      

  5.   

    try
    {

    CString strSQL = _T("UPDATE Config SET Test = ? WHERE ID = 1");

    SQLHSTMT hstmt = SQL_NULL_HSTMT;
    SQLRETURN retCode = ::SQLAllocStmt(m_Rs.m_pDatabase->m_hdbc, &hstmt);
    if(SQL_SUCCESS == retCode || SQL_SUCCESS_WITH_INFO == retCode)
    {
    retCode = ::SQLPrepare(hstmt, (SQLCHAR*)(LPCTSTR)strSQL, SQL_NTS);
    if(SQL_SUCCESS == retCode || SQL_SUCCESS_WITH_INFO == retCode)
    {
    LONG lBindLength = LOGSVRCONFIG_SIZE;

    //更新数据库数据
    retCode = ::SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_BINARY, SQL_C_BINARY,
    LOGSVRCONFIG_SIZE, 0, pLogSvrConfig, LOGSVRCONFIG_SIZE, &lBindLength);
    if(SQL_SUCCESS == retCode || SQL_SUCCESS_WITH_INFO == retCode)
    {
    retCode = ::SQLExecute(hstmt);

    //调试
    // UCHAR szbuf[100]={0};
    // short n = 0;
    // ::SQLGetDiagRec(SQL_HANDLE_STMT,hstmt,1,NULL,NULL,szbuf,100,&n);
    //

    ::SQLFreeHandle(SQL_HANDLE_STMT, hstmt); 

    if(SQL_SUCCESS == retCode || SQL_SUCCESS_WITH_INFO == retCode)
    {
    bResult = TRUE;

    }
    }
    }
    }
    }
    catch(...)
    {

    }