怎样在所有字段都不允许空值的情况下插入一条空记录?
表结构:DBF_test.DBF
DBF_Field1 Char(200) not NULL
DBF_Field2 float not NULL
DBF_Field3 Date not NULL
DBF_Field4 Memo not NULL with DM.ADOtmpQry do
begin
close;
sql.Clear;
sql.Add('Insert Into [DBF_test] (DBF_Field1,DBF_Field2,DBF_Field3,DBF_Field4) '+
'Value(:DBF_Field1,:DBF_Field2,:DBF_Field3,:DBF_Field4)');
with Parameters do
begin
ParamByName('DBF_Field1').Value := ''; //字符形的没有问题
ParamByName('DBF_Field1').Value := //数值型的怎么写
ParamByName('DBF_Field1').Value := //日期型也不会
ParamByName('DBF_Field1').Value := //备注型呢
end;
ExecSQL;
end;
表结构:DBF_test.DBF
DBF_Field1 Char(200) not NULL
DBF_Field2 float not NULL
DBF_Field3 Date not NULL
DBF_Field4 Memo not NULL with DM.ADOtmpQry do
begin
close;
sql.Clear;
sql.Add('Insert Into [DBF_test] (DBF_Field1,DBF_Field2,DBF_Field3,DBF_Field4) '+
'Value(:DBF_Field1,:DBF_Field2,:DBF_Field3,:DBF_Field4)');
with Parameters do
begin
ParamByName('DBF_Field1').Value := ''; //字符形的没有问题
ParamByName('DBF_Field1').Value := //数值型的怎么写
ParamByName('DBF_Field1').Value := //日期型也不会
ParamByName('DBF_Field1').Value := //备注型呢
end;
ExecSQL;
end;
ParamByName('DBF_Field1').Value :=0 //数值型的怎么写
ParamByName('DBF_Field1').Value :=Now //日期型也不会
ParamByName('DBF_Field1').Value :=' ' //备注型呢
如果是asstring,可以:asstring:='';
好象TParameters 不支持 AsString, 只有Value
ADOQuery.Parameters 也不支持Clear()
with DM.ADOtmpQry do
var tmp_Date :TDateTime;
begin
close;
sql.Clear;
sql.Add('Insert Into [DBF_test] (DBF_Field1,DBF_Field2,DBF_Field3,DBF_Field4) '+
'Value(:DBF_Field1,:DBF_Field2,:DBF_Field3,:DBF_Field4)');
with Parameters do
begin
ParamByName('DBF_Field1').Value := ''; //字符形的没有问题
ParamByName('DBF_Field1').Value := //数值型的怎么写
ParamByName('DBF_Field1').Value := tmp_Date //日期型解决了
ParamByName('DBF_Field1').Value := '' //备注型解决
end;
ExecSQL;
end;日期型解决了
现在就剩下数值型的了
我最近发现null的datetime字段asdatetime居然是'1899-12-30',相当于-2,不知道为什么
tmp_Date不初始化转换为String 是'1899-12-30',但是插入到数据库中却不显示