将时间加上中括号试试[],sqlserver中就是加中括号的,程序改为如下: strsql:='update zujdj set Fmoney='+IntToStr(StrToInt(Flatedit7.text)+StrToInt(Flatedit9.text))+',Smoney='+Flatedit9.text+',yu='+Flatedit10.text+',manager='''+Flatedit11.text+''',LastTime=['+Trim(Stime)+'] where htnumber='''+trim(Flatedit1.text)+''''; showmessage(strsql);
如果是Oracle要用To_Date转化
Query6.sql.add(strsql);
query6.ExecSQL;
中间加上 :Query6.parambyname('dtime').asdatetime:= datetimepicker1.date; //假设你的日期控件为datetimepicker
改
...LastTime='+Trim(Stime)
为
LastTime='''+Trim(Stime)+''''
注意,多加6个 '
肯定通过
strsql:='update zujdj set Fmoney='+IntToStr(StrToInt(Flatedit7.text)+StrToInt(Flatedit9.text))+',Smoney='+Flatedit9.text+',yu='+Flatedit10.text+',manager='''+Flatedit11.text+''',LastTime=['+Trim(Stime)+'] where htnumber='''+trim(Flatedit1.text)+'''';
showmessage(strsql);