DELPHI2007的大BUG! nvarchar 零长度字符更新 BUG.
DELPHI2007(sp3)+MSSQL SERVER 2000
建立一表 MSSQL 表:
A NVARCHAR(50)
B NVARCHAR(50)
填入数据
'aaaaa',''
注意: B值必须为零长度的字符串.即非<NULL>值,也即输入任意字符后删除所有字符产生的值.
然后建好
SQLConnection1: TSQLConnection;
m: TSimpleDataSet;
建立事件:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
m.Edit;
m.FieldByName('A').AsVariant:='BBBBB';
m.ApplyUpdates(-1);
end;
如果此值是
'aaaaa',<NULL>
则更新成功.
参考出错的TSQLMonitor指令:
update "TABLE3" set
"HandleMan" = ?
where
"HandleMan" = ? and
"Test" is null
最后一行不应该是
"Test" is null
应该是
"Test" = ''
很简单的程序,更新会出错.
有没有补丁可解决?