CDaoDatabase database;
CDaoTableDef tabledef(&database);
CDaoRecordset recordset(&database);
//CDaoQueryDef querydef(&database);
database.Open (_T("c:\\listbox.mdb"));
tabledef.Open(_T("1"));
//querydef.Open ("")
CString str,s=_T("98");
str =_T("SELECT No FROM ")+tabledef.GetName( )+_T(" WHERE No=\"")+s+_T("\"");

recordset.Open(dbOpenDynaset, str, dbReadOnly );
No是dbText的
這段代碼執行的時候出錯,應該是SELECT語句Where這裡錯了,請問我該怎麼該

解决方案 »

  1.   

    str =_T("SELECT No FROM ")+tabledef.GetName( )+_T(" WHERE No='")+s+_T("'");

      

  2.   

    我比较喜欢:str.Format("SELECT No FROM %s WHERE No='%s',tabledef.GetName(),s );
      

  3.   

    掉了一个引号str.Format("SELECT No FROM %s WHERE No='%s'",tabledef.GetName(),s );
      

  4.   

    如果No是dbInteger的,str又應如何改呢?
      

  5.   

    str.Format("SELECT No FROM %s WHERE No='%s' and id=%d",tabledef.GetName(),s,id );
      

  6.   

    where后的条件字符串应该用单引号引起来