Hallo,
ich bin noch etwas unsicher im Umgang mit Blobfeldern - entsprechend trivial wird sih mein Problem anhören... ich fang einfach an:
<PRE>
SQL.Text := 'select * from EMAIL_BLOB_I (?fk_emailpart, ?inhalt)';<BR> ParamByName('fk_emailpart').AsInteger := vPartindex;<BR>if (MessageParts[vi] is TIdAttachment) then<BR>begin<BR>vstream := TStringStream.Create('');<BR>TIdAttachment(Message Parts[vi]).Encode(vStream);<BR>
vStream.Position := 0; <BR>ParamByName('inhalt').AsString := vStream.DataString;<BR></PRE>
Ich speichere alle Parts einer Email (die ich mit Indy-Kompos per POP abrufe) separat in einer Interbase-Datenbank (7.0, IBOBjects) ab.
Bei Textinhalten funzt das ganz gut, nur bin ich mir bei Anhängen nicht sicher, ob die auch richtig in der Datenbank abgelegt werden.
Mein Ansatz zum Öffnen/Auslesen der Attachments aus der DB wäre:
<PRE>
sql.Text := 'select inhalt from email_blob where ID = '+inttostr(gvAnlagenarray[lvAnhaenge.ItemIndex].id);<BR>prepare;<BR>
open;<BR>vStream.LoadFromStream(CreateBlobStream(f ieldbyName('inhalt'),bmRead));<BR>
</PRE>
Ich hab zunächst mal mit FileStream gearbeitet und die Datei erst mal auf der Platte gespeichert, sie lässt sich aber nicht mehr öffnen. Also das ganze BLOB-Handling scheint bei mir noch sehr im argen zu liegen.
Kann mir da bitte jemand unter die Arme greifen? Wäre toll, danke!
Simon
ich bin noch etwas unsicher im Umgang mit Blobfeldern - entsprechend trivial wird sih mein Problem anhören... ich fang einfach an:
<PRE>
SQL.Text := 'select * from EMAIL_BLOB_I (?fk_emailpart, ?inhalt)';<BR> ParamByName('fk_emailpart').AsInteger := vPartindex;<BR>if (MessageParts[vi] is TIdAttachment) then<BR>begin<BR>vstream := TStringStream.Create('');<BR>TIdAttachment(Message Parts[vi]).Encode(vStream);<BR>
vStream.Position := 0; <BR>ParamByName('inhalt').AsString := vStream.DataString;<BR></PRE>
Ich speichere alle Parts einer Email (die ich mit Indy-Kompos per POP abrufe) separat in einer Interbase-Datenbank (7.0, IBOBjects) ab.
Bei Textinhalten funzt das ganz gut, nur bin ich mir bei Anhängen nicht sicher, ob die auch richtig in der Datenbank abgelegt werden.
Mein Ansatz zum Öffnen/Auslesen der Attachments aus der DB wäre:
<PRE>
sql.Text := 'select inhalt from email_blob where ID = '+inttostr(gvAnlagenarray[lvAnhaenge.ItemIndex].id);<BR>prepare;<BR>
open;<BR>vStream.LoadFromStream(CreateBlobStream(f ieldbyName('inhalt'),bmRead));<BR>
</PRE>
Ich hab zunächst mal mit FileStream gearbeitet und die Datei erst mal auf der Platte gespeichert, sie lässt sich aber nicht mehr öffnen. Also das ganze BLOB-Handling scheint bei mir noch sehr im argen zu liegen.
Kann mir da bitte jemand unter die Arme greifen? Wäre toll, danke!
Simon
Comment