请教SQL语法
CString strSQL(_T("select * from user2 where Account = 'yhsong'"));
m_pSet->Open(CRecordset::snapshot,strSQL);
不出现Exception;
如果是这样!
CString name;
CString strSQL(_T("select * from user2 where Account = name"));
m_pSet->Open(CRecordset::snapshot,strSQL);
这样就不行,为什么?
问题点数:20、回复次数:5Top
1 楼strip(阿飞 - Mozilla●CSDN●痛)回复于 2002-03-23 21:11:00 得分 10
_T("select * from user2 where Account = name"))
这是一个字符创,compiler不会解析里面的东西,所以直接传到database, database不认识name这个东西是什么东西,你应该:
CString name;
CString strSQL;
strSQL.Format( _T("select * from user2 where Account = \'%s\'"), (LPCTSTR)name);
Top
2 楼xmouse_2001(不一定)回复于 2002-03-23 22:07:20 得分 5
你的name是个变量名吧,可编译器却不知道呀
strip(阿飞) 说得很对Top
3 楼wasp_zhang(黄蜂)回复于 2002-03-24 20:46:27 得分 0
name我赋值过拉拉!
Top
4 楼wasp_zhang(黄蜂)回复于 2002-03-25 22:37:18 得分 0
那么再请问where 后面并列两个关系式怎搞?
比如
("select * from user2 where Account== \'%s\' ||Account== \'%s\' "), (LPCTSTR)name,(LPCTSTR)name1);
可以么?SQL的逻辑或者怎么搞?Top
5 楼angel_mine(我的天使)回复于 2002-03-26 07:59:51 得分 5
多参数可以用SQLBindParameter.Top




