程序中
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='+strName);出现“参数 徐某某 没有默认值”的错误。但是使用
ADOQuery1.SQL.Add('SELECT * FROM AddressList WHERE Name=''徐某某''');
就没有问题!!!大家看看,是为什么???语句有写错了吗?
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='+strName);出现“参数 徐某某 没有默认值”的错误。但是使用
ADOQuery1.SQL.Add('SELECT * FROM AddressList WHERE Name=''徐某某''');
就没有问题!!!大家看看,是为什么???语句有写错了吗?
解决方案 »
- 弱弱的问个三层结构的问题
- Delphi程序新建Word文稿时自动加密
- COMBOBOX中添加条目的问题
- 100分求主菜单的遍历
- 我想把Image控件内的图片临时存在一个变量里,请问该怎么做呢?我现在是用了很多临时Image控件
- 下注啦!!!
- 一个关于窗体删除的问题?????我已经把它删了还是总缠着我!!!!!!!
- HELPME?DEPHI能够编译文件,急需,放高分
- 有没有想OEM我的共享软件---轻骑兵浏览器的单位/公司?
- type mismatch in expression是什么原因造成的,如何对表中日期进行查询。
- 求救?
- SocketConnection 调用服务端自定义接口函数的问题???
'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+'''');
改成 ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='+#39+strName+#39);
就好了
你为什么不直接用参数呢?
adoquery1.sql.add(''SELECT * FROM AddressList WHERE Name=:strName');
PARAMETERS.PARAMBYNAME('STRNAME').value := '徐某某';
就可以了
ADOQuery1.SQL.add('SELECT * FROM AddressList WHERE Name='+QuotedStr(strName));
PARAMETERS.PARAMBYNAME('STRNAME').value := '徐某某';
以前用的是VB和VC,没有那么麻烦,呵呵。csdn结贴真麻烦,大家都很热情,我想把分平均了,还要一个一个输入分值!!!
就没有一个按钮点击,把分值平均给各位吗?????