注册 登录
编程论坛 VC++/MFC

关于SQL语句中的WHERE 有大问题

洪溪 发布于 2011-04-10 16:38, 495 次点击
UpdateData(TRUE);
    CString strsql,entry;
    entry="无名";
    strsql="SELECT bkID As 书号 FROM 书籍信息 WHERE bkAuthor='entry' ";     
    m_bk.SetRecordSource(strsql);
    m_bk.Refresh();


  倒数第三行:换成这样strsql="SELECT bkID As 书号 FROM 书籍信息 WHERE bkAuthor='无名' ";  就行了为什么啊?怪啦?

[ 本帖最后由 洪溪 于 2011-4-10 16:40 编辑 ]
5 回复
#2
qq10235692232011-04-10 16:57
一个中文,一个英文啊!编程语言不认中文的!
#3
洪溪2011-04-10 18:43
回复 2楼 qq1023569223
我想问的是,怎么实现查询中的字段名等于变量:
你好像还没明白我问题的意思...你注意看那三行黑体的对比就明白了 帮帮忙朋友;
#4
qq10235692232011-04-10 20:17
strsql="SELECT bkID As 书号 FROM 书籍信息 WHERE bkAuthor='entry' ";     应该是这样的,sql语句中不能使用变量,也就是entry在strsql中不会被替换为"无名".
所以只能用字符串连接了:strsql="SELECT bkID As 书号 FROM 书籍信息 WHERE bkAuthor='"+entry+"'";  //c++中连接字符串,不知道+号行不行?   
#5
洪溪2011-04-11 10:06
哈哈。。行了 谢谢你 你太棒了  我搞了两天了都没搞出来。。太谢谢你了

[ 本帖最后由 洪溪 于 2011-4-11 10:08 编辑 ]
#6
qq10235692232011-04-11 23:09
不客气!
1