中国开发网: 论坛: 程序员情感CBD: 贴子 87338
haibing_168: 这样的问题,遇见过没有 ?
在DELPHI中当往数据库(Sybase)中插入或更新BLOB字段时,会出现莫名其妙的错误:
如:自动关闭程序。
General SQL Error,
有时什么也不做就返回FALSE;

程序大概如下:
function SaveData(tmpDatabaseName:string):boolean;
begin
Result := False;
with TQuery.Create(nil) do
begin
DatabaseName := tmpDatabaseName;
Sql.Add('SELECT A,B,D FROM D');
Open;
FilesStream := TFileStream.Create('C:\a.txt',fmOpenRead);
if Fields[0].isNull then
begin
Append; //这里出错
FieldByName('a').AsString := 'tmpA';
end
else
begin
try
Edit; //或是这里出错,有时连错误都捕获不到
except
on E: Exception do
showmessage(e.message + #13 + sql.text);
end;
end;
ResultData := TBlobStream.Create(FieldbyName('b') as TBlobField,bmReadWrite);
ResultData.Seek(0,soFromBeginning);
ResultData.Truncate ;
ResultData.CopyFrom(FilesStream,FilesStream.Size);
FilesStream.Free;
FieldByName('C').AsString := 'tmpC';
Post;
Result := true;
end;
end;

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录