小问个语法有关问题,懂的人花个2分钟帮帮小弟我吧,多谢
小问个语法问题,懂的人花个2分钟帮帮我吧,谢谢
程序很简单:就是UPDATE数据库将修改记录,但是WHERE后面条件为时间类型出错,程序如下
var
Name,Num,Time,DD,DY:string;
TT:TDateTime;
begin
Name:=Combobox1.Text;
Time:=Combobox2.Text;
Num:=Edit2.text;
DD:=Edit3.text;
DY:=Edit4.text;
TT:=StrToDatetime(Time);
query1.close;
query1.SQL.Clear;
query1.SQL.Add('update 电导测试');
query1.SQL.Add('set 电导='''+DD+''',电压='''+DY+'''');
query1.SQL.Add('where 电池组名称='''+Name+'''');
query1.SQL.Add('and 测试时间='''+TT+''''); //此语句出问题,如果是TT的话(Datetime类型)编译不通过;如果是Time(字符串类型),运行程序时出“标准表达式中数据类型不匹配”。数据库中时间是Datetime类型 何解?????
query1.SQL.Add('and 电池序号='''+Num+'''');
query1.ExecSQL;
谢谢大家了
------解决方案--------------------
你用的是SQL SERVER 还是 ACCESS??
如果是ACCESS 的话,你需要 测试时间= '#' + TT + '#'
还有比较简单的方法测试,
如
inputbox('1','1',sql.text);
然后执行的时候,将sql复制出来,在数据库运行下就知道哪里错了。
程序很简单:就是UPDATE数据库将修改记录,但是WHERE后面条件为时间类型出错,程序如下
var
Name,Num,Time,DD,DY:string;
TT:TDateTime;
begin
Name:=Combobox1.Text;
Time:=Combobox2.Text;
Num:=Edit2.text;
DD:=Edit3.text;
DY:=Edit4.text;
TT:=StrToDatetime(Time);
query1.close;
query1.SQL.Clear;
query1.SQL.Add('update 电导测试');
query1.SQL.Add('set 电导='''+DD+''',电压='''+DY+'''');
query1.SQL.Add('where 电池组名称='''+Name+'''');
query1.SQL.Add('and 测试时间='''+TT+''''); //此语句出问题,如果是TT的话(Datetime类型)编译不通过;如果是Time(字符串类型),运行程序时出“标准表达式中数据类型不匹配”。数据库中时间是Datetime类型 何解?????
query1.SQL.Add('and 电池序号='''+Num+'''');
query1.ExecSQL;
谢谢大家了
------解决方案--------------------
你用的是SQL SERVER 还是 ACCESS??
如果是ACCESS 的话,你需要 测试时间= '#' + TT + '#'
还有比较简单的方法测试,
如
inputbox('1','1',sql.text);
然后执行的时候,将sql复制出来,在数据库运行下就知道哪里错了。