我使用的开发环境是VC6,使用ADO连接Oracle 10g。
通过_ConnectionPtr的Execute方法实现插入,删除和修改。现在需要在插入删除修改前锁表,请问该如何处理?
谢谢!

解决方案 »

  1.   

    可以使用
    lock table 表名 in 锁模式;
    如:
    lock table a in exclusive mode;还可以使用
    select * from 表名 for update;实现数据的串行修改。锁表目的是什么?
      

  2.   

    int CMyOracleDBOP::ExcuteAlterSentence(char *pSQL)
    {
    try
    {
    _variant_t RecordsAffected;
    _RecordsetPtr record;
    record = m_db_conn->Execute((_bstr_t)pSQL,&RecordsAffected,adCmdText);
    return RecordsAffected.iVal;

    }
    catch(_com_error e)///捕捉异常
    {
    return -1;

    return 1;
    }
    以上是代码
    表有可能会有多个程序同时读写。所以要锁表。
      

  3.   

    追问一句,自己不加锁,oracle会不会在执行insert,update或delete时自动加锁。