Einzelnen Beitrag anzeigen

JHDGE

Registriert seit: 16. Feb 2006
Ort: Heidelberg
13 Beiträge
 
Delphi 2007 Professional
 
#1

aus einem Record ein Tmemo per insert into in ein Blob feld

  Alt 2. Jan 2011, 21:23
Datenbank: Firebird • Version: 2 • Zugriff über: IB
Hallo
Also folgendes Problem oder ggf. schon gelöst

Ich habe einen Record typ definiert

ESLOG = Record // Documentation zum Einsatz
eslogn : Integer; // Einsatzlog nummer // not null
ESNUM : INTEGER ; // Einsatz nummer
ESLOGUNA : String[30]; // User name
ESMEMO : tmemo; // Memofeld deklarieren //


Meineslog.esmemo := tmemo.create(self);
Meineslog.esmemo.parent := Einsatzform;
Meineslog.ESMEMO.Visible := false; // Soll ja keiner sehen
meineslog.ESNUM := strtoint(Einsatznum.text);// esnum kommt zurück aus dem Speichern
meineslog.ESTEXT := meinesdat.ESDDIAG ;// Symptome
Meineslog.ESMEMO.Lines := patmemo.lines ; // Memo zuordnen

Ok nun habe ich den Record gefüllt und möchte nun den Record in eine SQL Firebird Datenbank bringen
Folgenden code nutze ich dazu

with sqldbform.IBQuery_eslog do

begin
close;
sql.Clear;
sql.add('INSERT INTO eslog(eslogn,esloguna,esmemo,esnum )');
sql.add('VALUES (:eslogn,:esloguna,:esmemo,:esnum )');
parambyname('eslogn').AsString := Trim(data.ESLOGD); // 'Meine Info ';
parambyname('esloguna').AsString := Trim(data.esloguna ); // user name'Meine Info ';

parambyname('esmemo').AsBlob := data.ESMEMO.lines.text; // Tmemo speichern
parambyname('esnum').Asinteger := data.ESnum ; //

try
// tsqldbform.ibmaintransaction.StartTransaction;
Execsql;
showmessage('Einsatzlog erfolgreich gespeichert! EinsatzNr.:'+ inttostr(data.esnum));
// tsqldbform.ibmaintransaction.Commit;
except
on E: Exception do begin

MessageDlg( 'Fehler beim speichern: ' + E.Message + CHR(13)+ sqldbform.IBQuery_eslog.Text , mtError, [mbOK], 0 );
noerror := false;
end;
end;

OK nun die Fragen :

Ist das mit dem memo im record so richtig muss ich es einem Form zuordnen ?

Speichere ich das memo so richtig im Blob der Datenbank ab ?
(Habe die leseroutine noch nicht geschrieben )

Muss ich noch was machen um die Daten sofort zu speichern also commit oder so cache ist nicht aktiviert !
Joachim E.
  Mit Zitat antworten Zitat