关于VC里的SQL语句

juliajujuli 2008-12-29 11:22:09
我在程序中得到一文件名保存在CString str;
打开数据库后要查询与这个文件名相同的字段,语句如下
SELECT Data FROM table1 WHERE FileName=str
好像这里"WHERE FileName=str"是不正确的,那么应该怎么转换呢?请高手指教!
...全文
137 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
juliajujuli 2008-12-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wyjun1985 的回复:]
strSQL.Format("SELECT * FROM table1 where FileName=%s",str);
//或者strSQL.Format("SELECT * FROM table1 where FileName='"+str+"'");
m_pRst->Open((_variant_t)strSQL,m_pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
[/Quote]

解决
crospo 2008-12-29
  • 打赏
  • 举报
回复
strSql="SELECT Data FROM table1 WHERE FileName ='"+str+"'";
noenoughmemory 2008-12-29
  • 打赏
  • 举报
回复
mark
zaodt 2008-12-29
  • 打赏
  • 举报
回复

CString str("c:\\test.txt");
CString strSQL;

strSQL.Format("SELECT Data FROM table1 WHERE FileName = '%s' ", str);


字符串为什么要加【单引号】,原因是【数据库引擎】是这样规定的;

如果【数据库引擎】规定使用【井号】,那就需要用#号;


大多数【DBMS】都使用【单引号】。
oyljerry 2008-12-29
  • 打赏
  • 举报
回复
SELECT Data FROM table1 WHERE FileName = 'str'
yanjing_mail 2008-12-29
  • 打赏
  • 举报
回复
SELECT Data FROM table1 WHERE FileName='"+str+"'
hxyman 2008-12-29
  • 打赏
  • 举报
回复
文本字段要加单引号

Posted By EasyCsdn1.0
wyjun1985 2008-12-29
  • 打赏
  • 举报
回复
strSQL.Format("SELECT * FROM table1 where FileName=%s",str);
//或者strSQL.Format("SELECT * FROM table1 where FileName='"+str+"'");
m_pRst->Open((_variant_t)strSQL,m_pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
wyjun1985 2008-12-29
  • 打赏
  • 举报
回复
strSQL.Format("select Data from table1 where FileName=%s",str);
zhongfu19800709 2008-12-29
  • 打赏
  • 举报
回复
strSQL.Format("SELECT Data FROM table1 WHERE FileName= '%s'",str);
zhongfu19800709 2008-12-29
  • 打赏
  • 举报
回复
"SELECT Data FROM table1 WHERE FileName= '" + str + "'"
juliajujuli 2008-12-29
  • 打赏
  • 举报
回复
貌似不管用啊,SELECT Data FROM table1 WHERE FileName = 'sfnv.bin'直接用文件名是可以的,换成
SELECT Data FROM table1 WHERE FileName = 'str'就不行
SELECT Data FROM table1 WHERE FileName ='"+str+"'";更不行了

ps:我的是vs2005
路人乙2019 2008-12-29
  • 打赏
  • 举报
回复
SELECT Data FROM table1 WHERE FileName = 'str'或者用sprintf格式化一个字符串出来,str作为被格式化的值。

4,017

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧