请高手指点50分题(50分)

  • 主题发起人 主题发起人 cncangel
  • 开始时间 开始时间
C

cncangel

Unregistered / Unconfirmed
GUEST, unregistred user!
我在学习delphi7.0中使用TQuery控件运行SQL语句delete删除char型数据时没有效果,我是这样写的.
Query1.SQL.Clear
Query1.SQL.Add('delete from 供应商 where 编号="G0003" and 名称="name" ')
Query1.ExecSQL(这条语名记不清了,请高手多多包含!)
我怀疑是"双引号和单引号"的问题,请高手帮忙解决.
我还想学习一下Update控件和TQuery控件配合运行"插入,删除,修改"的方法,请高手给出详细过程(在加50分)
 
建议这样:
adoQuery1.sql.clear;
adoQuery1.sql.add('delete from 供应商 where 编号=:n1 and 名称=:n2');
adoQuery1.parameters.ParameterByname(n1).value:="G0003";
adoQuery1.parameters.ParameterByname(n2).value:="name";
adoQuery1.ExecSQl;
使用的是变量,n1,n2
 
引号的用法,按以下:
'''+string1+''' //字符型变量
'+float1+' //数值型变量
'+field1+' //字段常量
''const1'' //常量
 
你的数据中用""了吗?如果没有就用单引就好了,刚入门的时候一堆堆单引号把我搞晕过
 
Query1.SQL.Add('delete from 供应商 where (编号='+QuotedStr('G0003')+') and (名称='+QuotedStr('name')+') ');
adoQuery1.ExecSQl;
這個才是正確的。
 
如果这样写呢?
Queyr.SQL.add('delete from 供应商 where 编号="'+edit1.text+'" and 名称="'+edit2.text+'"')
应该如何改写.问高手
 
把"号改成两个单'如
Queyr.SQL.add('delete from 供应商 where 编号="'+edit1.text+'" and 名称="'+edit2.text+'"')
改成
Queyr.SQL.add('delete from 供应商 where 编号='''+edit1.text+''' and 名称='''+edit2.text+'''');
 
应该是这样
Query1.SQL.Clear;
Query1.SQL.add('delete from 供应商 where 编号='''+edit1.text+''' and 名称='''+edit2.text+'''');
Query1.ExecSQL;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部