Folgenden gravierenden Fehler habe ich:
Umgebung:
Win XP-Prof, MS-SERVER,
Delphi 2007-Ger (Build2600, SP2)
(auch auf einem anderen Rechner getestet)
Vorraussetzung:
MS-Server (hier auf Host "Buero"),
eine Datenbank(hier 'sqlwawi')
eine Tabelle(hier 'artikel') mit 3 Feldern:
Artnr ein Varchar (ein string) * unwichtig
Text ein Memo (gefüllt mit einem richtext) * unwichtig
image eine Image (eine Bitmapgrafik) * Wichtig
Ein Formular mit einem normalen TEdit('Artnr'), einem TRichEdit('richedit') und einem TImage('image')
DBExpress: SQLConnection und SQLDataset verknüpfen
und die Felder wie folgt aktivieren (per button)
Code:
sqldataset1.close;
sqldataset1.CommandText:=sqlcmd.text;
sqldataset1.open;
sqldataset1.first;
artnr.Text:=sqldataset1.Fields[0].AsString;
richedit.Text:=sqldataset1.Fields[1].AsString;
image.Picture.Assign(sqldataset1.Fields[2]);
// Zusätzlich *
tblobfield(sqldataset1.Fields[2]).savetofile('c:\x.bmp');
ADO: adoConnection und adaDataset verknüpfen
und die Felder wie folgt aktivieren (per button)
Code:
adodataset1.close;
adodataset1.Connection:=adoconnection1;
adodataset1.CommandText:=sqlcmd.text;
adodataset1.open;
adodataset1.first;
artnr.Text:=adodataset1.Fields[0].AsString;
richedit.Text:=adodataset1.Fields[1].AsString;
image.Picture.Assign(adodataset1.Fields[2]);
Fazit[u]:
Per ADO werden alle Felder korrekt gefüllt, auch das image
Bei DBExpress wird das Image wird schwarz gefüllt! (alle anderen Felder ok)
(*) Auch eine Savetofile('x.bmp') des Tblobfields enthält kein Bitmap!
Ich wäre dankbar um eine Überprüfung.......D A N K E