CRecordset操作dbf我执行 m_set->Open(CRecordset::snapshot,_T("select * from <tablename> where <fieldname>='12345' "); 成功,没问题,
但是我换成下面来执行就不行了!CString mstrNum="12345"
m_set->Open(CRecordset::snapshot, _T("select * from <tablename> where <fieldname>='mstrNum' ");为什么?请问怎么改???

解决方案 »

  1.   

    换成:
    CString mstrNum="12345";
    m_set->Open(CRecordset::snapshot,  _T("select  *  from  <tablename>  where  <fieldname>='mstrNum'  ");  就出错了,刚才漏了个分号,现在再贴一次。
      

  2.   

    CString sql;
    CString mstrNum="12345";
    sql.Format("select * from test.dbf where fieldname='%s'",mstrNum);
    m_set->Open(CRecordset::snapshot, sql);
      

  3.   

    这样当然不行,这样<fieldname>='mstrNum'了,而不是<fieldname>='12345'了
    所以出错了!呵呵
      

  4.   

    CString sql;
    CString mstrNum="12345";
    sql.Format("select * from test.dbf where fieldname='%s'",mstrNum);
    m_set->Open(CRecordset::snapshot, sql);请问其中的 %s 是什么?假如说我的表名为:test ,fielename:sum,这样的话应该怎么写呢??
      

  5.   

    加入说我有多个条件呢?
    比如:
    mstrnum="12345";
    mstrnum1="123456";
    mstrnum2="1234";我的select 语句为
    select * from test where sum='12345' and sum1='123456' and sum2='1234'这样的话应该怎么写?