如何将datetime型变量赋为空值,并将此空值传给TABLE的字段参数。
var
time:Tdatetime ;
begin
time := null ; //此行报错,应将dt置为空值
oratable1.Close ;
oratable1.SQL.Text := 'update tablename set rq = :rq ';
oratable1.ParamByName('rq').AsDateTime := time ; //此行赋空值给字段
oratable1.ExecSQL ;
end;问题:
1、time := null 报错
2、怎样用空值更新原字段rq
var
time:Tdatetime ;
begin
time := null ; //此行报错,应将dt置为空值
oratable1.Close ;
oratable1.SQL.Text := 'update tablename set rq = :rq ';
oratable1.ParamByName('rq').AsDateTime := time ; //此行赋空值给字段
oratable1.ExecSQL ;
end;问题:
1、time := null 报错
2、怎样用空值更新原字段rq
怎么可以赋为空呢??建议不要给空值了。。给成 0。就可以了。
可以在程序中控制一下,凡是为0的记录默认为‘空’
time:Tdatetime ;
begin
time := ; //此行报错,应将dt置为空值
oratable1.Close ;
oratable1.SQL.Text := 'update tablename set rq = :rq ';
oratable1.ParamByName('rq').Value := Null ; //此行赋空值给字段
oratable1.ExecSQL ;
end;
time:Tdatetime ;//其实是浮点类型
begin
time :=-1 ; //此行报错,应将dt置为空值
oratable1.Close ;
if time:=-1 then
oratable1.SQL.Text := 'update tablename set rq =null ';
else begin
oratable1.SQL.Text := 'update tablename set rq =:p ';
oratable1.ParamByName('p').Value :=time; //此行赋空值给字段
end
oratable1.ExecSQL ;
end;
time:Variant ;//variant类型
begin
time := null ; //此行正确
oratable1.Close ;
oratable1.SQL.Text := 'update tablename set rq = :rq ';
oratable1.ParamByName('rq').AsVariant := time ; //此行赋空值给字段
oratable1.ExecSQL ;
end;
一切OK,结帐吧!
//var
// time:Tdatetime ;
begin
//time := null ; //此行报错,应将dt置为空值
oratable1.Close ;
oratable1.SQL.Text := 'update tablename set rq=null';
//oratable1.ParamByName('rq').AsDateTime := time ;
oratable1.ExecSQL ;
end;
begin
oratable1.Close ;
oratable1.SQL.Text := 'update tablename set rq = null ';
oratable1.ExecSQL ;
end;