Salvete die Kollegen,
habe ein Problem mit Bildern, welche ich in einer
SQL-Datenbank speicher.
Fehlermeldung: Im Projekt bla.. ist eine
Exception der Klasse EDatabaseerror mit der Meldung 'Datenmenge weder im Editier, noch im Einfügemodus' aufgetreten.
Code:
Delphi-Quellcode:
procedure bildzufuegen(nummer : string);
var _query : TADOQuery;
Blobfield : TField;
BS : Tstream;
begin
_query := Tadoquery.Create(nil);
with _query do begin
connection := FrmMain.ADOConnMUS;
try
_query.sql.Text := 'select * from musmanager_user where lfdnr='+nummer;
_query.open;
if eof then begin
showmessage('Keine Daten vorhanden'+#10#13+'Sollte eigentlich hier nicht vorkommen!');
end else begin
with frmmain do begin
edit;
blobfield := fieldbyname('Bild');
try
BS := CreateBlobStream(BlobField,bmWrite);
Frmmain.userimage.Picture.Bitmap.SaveToStream(BS);
post;
finally
freeandnil(BS); => hier kommt die Fehlermeldung
end;
end;
end;
finally
freeandnil(_query);
end;
end;
end;
Die gleiche Meldung kommt, wenn ich das Image wieder einlesen möchte:
Delphi-Quellcode:
procedure set_pic(usernr : string);
var _stmp : string;
_query : Tadoquery;
BS : TStream;
Blobfield : TField;
begin
_stmp := 'select * from musmanager_user where lfdnr ='+usernr;
_query := Tadoquery.Create(nil);
with _query do begin
connection := FrmMain.ADOConnMUS;
try
_query.sql.Text := _stmp;
_query.open;
if (not eof) then begin
try
Blobfield := FieldbyName('Bild');
if blobfield <> NIL then begin
BS := CreateBlobStream(BlobField,bmReadWrite); => hier kommt die Fehlermeldung
FrmMain.userimage.picture.bitmap.loadfromstream(BS);
end;
finally
freeandnil(stream);
end;
end;
_query.close;
finally
freeandnil(_query);
end;
end;
end;
Wer hat eine Idee?
Gruss
EL