为什么sql语句这样写不对呢?(10分)

  • 主题发起人 主题发起人 delphiere
  • 开始时间 开始时间
D

delphiere

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么sql语句这样写不对呢?
sql.Add('update 表 set 日期=datetimepicker1.DateTime where 编号='''+dbedit1.text+'''');
我想把记录修改成datetimepicker中的日期。为什么这样有错?
 
sql.Add('update 表 set 日期=#'+datetimepicker1.DateTime+'# where 编号='''+dbedit1.text+'''');
 
你可以这样做,比较保险
sqlstring:='update 表 set 日期='+datetimepicker1.DateTime+' where 编号='+dbedit1.text+''
sql.text:=sqlstring;
其中sqlstring 为一字符串变量
 
adoquery1.sql.Add('update 表 set 日期=:rq where 编号='''+dbedit1.text+'''');
adoquery1.Parameters.ParamByName('rq').value:=datetimepicker1.datetime;
adoquery1.execsql;
 
同意楼上QUICKSILVER所说。
 
sqlstring:='update 表 set 日期=:rq where 编号='+chr(39)+dbedit1.text+chr(39));
with adoquery1 do
begin
Parameters.ParamByName('rq').value:=datetimepicker1.datetime;
CommandText:= sqlstring;
open;
end;
 
为什么sql语句这样写不对呢?
sql.Add('update 表 set 日期=datetimepicker1.DateTime where 编号='''+dbedit1.text+'''');
我想把记录修改成datetimepicker中的日期。为什么这样有错?
//-----
你犯了一个错,在你的句子中datetimepicker1.DateTime将被Delphi处理为一个字符串,
并不会将你想要的变量代入.
 
多人接受答案了。
 
后退
顶部