我在程序中得到一文件名保存在CString str;
打开数据库后要查询与这个文件名相同的字段,语句如下
SELECT Data FROM table1 WHERE FileName=str
好像这里"WHERE FileName=str"是不正确的,那么应该怎么转换呢?请高手指教!
打开数据库后要查询与这个文件名相同的字段,语句如下
SELECT Data FROM table1 WHERE FileName=str
好像这里"WHERE FileName=str"是不正确的,那么应该怎么转换呢?请高手指教!
CString str("c:\\test.txt");
CString strSQL;strSQL.Format("SELECT Data FROM table1 WHERE FileName = '%s' ", str);
字符串为什么要加【单引号】,原因是【数据库引擎】是这样规定的;如果【数据库引擎】规定使用【井号】,那就需要用#号;
大多数【DBMS】都使用【单引号】。
SELECT Data FROM table1 WHERE FileName = 'str'就不行
SELECT Data FROM table1 WHERE FileName ='"+str+"'";更不行了ps:我的是vs2005
//或者strSQL.Format("SELECT * FROM table1 where FileName='"+str+"'");
m_pRst->Open((_variant_t)strSQL,m_pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);