SQL的问题,请教!
程序中
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='+strName);
出现“参数 徐某某 没有默认值”的错误。
但是使用
ADOQuery1.SQL.Add('SELECT * FROM AddressList WHERE Name=''徐某某''');
就没有问题!!!
大家看看,是为什么???语句有写错了吗?
问题点数:30、回复次数:17Top
1 楼h_hx(魔兽世界)回复于 2003-11-03 22:59:01 得分 4
这句当然有问题拉!
'SELECT * FROM AddressList WHERE Name='+strName
strName='we';的时候SQL语句就是“'SELECT * FROM AddressList WHERE Name=we”
去运行的时候更本没有"we"这个变量啊,当然要出错拉。
'SELECT * FROM AddressList WHERE Name=''徐某某'''
转化成SQL后就是
SELECT * FROM AddressList WHERE Name='徐某某'
SELECT * FROM AddressList WHERE Name=徐某某
你自己看看有什么区别!
要改成:
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='''+strName+'''');Top
2 楼NewPrince(Mack狼)回复于 2003-11-03 23:36:03 得分 4
改成 ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='+#39+strName+#39);
就好了
Top
3 楼sailer_shi(孤独的我,孤单的走,孤单的活着,孤单呀)回复于 2003-11-03 23:37:54 得分 2
你的strname得值要用#39+'徐某某'+#39得到
你为什么不直接用参数呢?
adoquery1.sql.add(''SELECT * FROM AddressList WHERE Name=:strName');
PARAMETERS.PARAMBYNAME('STRNAME').value := '徐某某';
就可以了Top
4 楼oklida(JAVA战士)回复于 2003-11-03 23:38:51 得分 2
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='''+strName+'''');Top
5 楼sailer_shi(孤独的我,孤单的走,孤单的活着,孤单呀)回复于 2003-11-03 23:42:23 得分 2
或者你把你的语句改为
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='+QuotedStr(strName));Top
6 楼angelface(§<@#$&^%$>§)回复于 2003-11-04 08:26:46 得分 2
肯定是会出问题的, 最好还是用sailer_shi(笨笨虫)的第一个方法,, 用参数的办法!Top
7 楼IORILI(眼镜)回复于 2003-11-04 08:30:05 得分 2
h_hx() sailer_shi(笨笨虫)都可以,以前我主要用第一种,现在我会用第二种Top
8 楼wrydao(一刀)回复于 2003-11-04 08:33:20 得分 0
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='''+strName+'''');
Top
9 楼txmjs(天地之间)回复于 2003-11-04 08:44:37 得分 2
用楼上的这种方法,一定会通过的.Top
10 楼kejian(御剑飞仙)回复于 2003-11-04 09:01:34 得分 2
他们都说光了. : )Top
11 楼lf43(小飞侠)回复于 2003-11-04 09:03:30 得分 2
adoquery1.sql.add(''SELECT * FROM AddressList WHERE Name=:strName');
PARAMETERS.PARAMBYNAME('STRNAME').value := '徐某某';
Top
12 楼pingo888(逸风)回复于 2003-11-04 09:05:20 得分 2
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='''+strName+'''');Top
13 楼comerliang(天地良心)(性欲被自己倒分倒没了,以后再也不敢倒分了,想倒分的兄弟看看我的下场吧,男人没了性欲真不爽)回复于 2003-11-04 09:06:48 得分 2
来晚了,没的说了!Top
14 楼Wyi23(Wyi)回复于 2003-11-04 09:13:21 得分 0
俺要说的,你们都说光了,服了YOU!Top
15 楼fhuibo(永远深爱一个叫“莎”的好女孩儿)回复于 2003-11-04 09:13:57 得分 2
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='''+strName+'''');Top
16 楼VHDLcn(我存在,我奋斗!)回复于 2003-11-04 09:22:38 得分 0
谢谢,结贴。Top
17 楼VHDLcn(我存在,我奋斗!)回复于 2003-11-04 09:25:08 得分 0
再次谢谢各位!!!
以前用的是VB和VC,没有那么麻烦,呵呵。
csdn结贴真麻烦,大家都很热情,我想把分平均了,还要一个一个输入分值!!!
就没有一个按钮点击,把分值平均给各位吗?????Top




