Hallo,
das thema scheint die tage in zu sein...
nun ich fasse meine probleme mal kurz, damit nicht der eindruck entsteht, sie wurden hier schon oft besprochen. ( nun.. kann sein. ich habe nach einer ausgiebigen suche keine hilfe finden können).
ich will, wie so viele andere vor und nach mir, memo felder in eine datenbank schreiben und auch wieder auslesen...
hier die codes:
Zum schreiben... ( es kann aber auch ein
sql statement sein... mein problem liegt in der typenumwandlung
Delphi-Quellcode:
procedure TfmMain.btnTextOKClick(Sender: TObject);
var fs: TStringStream;
bf: TBlobField;
bs: TBlobStream;
begin
(...)
try
if (
not dxEinkauf.Active)
then dxEinkauf.Active:=true;
dxEinkauf.Insert;
dxEinkauf.FieldByName('
D_PREIS').AsFloat:=StrToFloat(edTextPreis.Text);
memTextBez.Lines.Delimiter:=chr(13);
dxEinkauf.FieldByName('
D_BEZ').AsString:=memTextBez.Lines.DelimitedText;
fs.Create(memTextBez.Lines.Text);
TBlobField(dxEinkauf.FieldByName('
D_BEZBLOB')).LoadFromStream(fs);
//hier kommt der Fehler mit Zugriffsverletzung...
dxEinkauf.Post;
pc.ActivePage:=Tab1;
except
on e:
Exception do
writelog('
Error beim Einfügen einer Leistung: '+#13#10+ e.
message);
end;
end else
begin
showmessage('
Eingaben überprüfen!', TabText);
end;
end;
lesen..:
Memo2.lines.text:=TBlobField(dxEinkauf.FieldByName('D_BEZBLOB')).AsString; //kann nicht teste, da das schreiben nicht klappt :-(
danke schonmal im voraus für die schnelle hilfe.
grüße