ado连接oracle数据库:m_pRecordset = m_pConnect->Execute("select table_name from all_tables;",&RecordAffected,adModeUnknown);这样可以正确获得查询结果。
但是改成下面这样就会出错:
m_pRecordset = m_pConnect->Execute("select table_name from all_tables where owner='SCOTT';",&RecordAffected,adModeUnknown);      我认为关键在where owner='SCOTT',这里的单引号''怎样传进去呢? 我加了一个 / 也不行。

解决方案 »

  1.   

    改成这样试一下:
    CString sql;
    sql.Format("select table_name from all tables where owner = '%s'",str);
    str 存的要传得字符串,再把sql传到Execute 中
      

  2.   

    owner 是个字串字段么?字段名对么?单引号直接写就对了,又不是Delphi,要写成把 ' 写成 ''你每句SQL后边怎么都要加个 ; 号, C++成习惯啦。
      

  3.   

    每句SQL后边怎么都要加个 ; 号, C++成习惯啦?       问题正在于此。不过我会写一篇文章详细解释这件事的。