Einzelnen Beitrag anzeigen

Benutzerbild von Andreas H.
Andreas H.

Registriert seit: 3. Mär 2006
Ort: Schopfloch
163 Beiträge
 
Delphi 2006 Professional
 

TRichEdit per Parameter in DB schreiben

  Alt 21. Aug 2007, 07:33
Datenbank: mySQL • Version: 5 • Zugriff über: ZEOS
Hallo,

ich benutze folgenden Code, um ein TRichEdit in eine DB zu schreiben. Die Funktion wird ohne Fehler durchlaufen, in der Datenbank bleibt das Feld Memo aber auf nil.


Delphi-Quellcode:
//...
  const
    SQLNewMsgSend = 'insert into MsgSend values(default,now(),:User,'#39'inactive'#39',:User,:User,default,:Name,:Memo,:Reciep);';
// ...


function TCommon.SendMsg(Subject: string; Memo: TObject; SenderID,ReciepID: Integer;
  AttachedList: TIntegerList):boolean;
var
  i:integer;
  LastIndex:integer;
  Stream: TMemoryStream;
begin
  result:=false;
  Stream:=TMemoryStream.Create;
  try
    with QryMessage do
    begin
      // in "Gesendet" eintragen
      SQL.Text:=SQLNewMsgSend;
      Params.ParamByName('User').Value:=SenderID;
      Params.ParamByName('Reciep').Value:=ReciepID;
      Params.ParamByName('Name').Value:=Subject;
      if TRichEdit(Memo).lines.Count>0 then
        begin
          Stream.Clear;
          TRichEdit(Memo).Lines.SaveToStream(Stream);
          Stream.Position := 0;
          Params.ParamByName('Memo').LoadFromStream(Stream,ftFmtMemo);
        end;
      ExecSQL;
//...
Das Datenbankfeld Memo ist vom Typ Text und ist in anderen Forms der Anwendung an TDBRichEdit gebunden und das funktioniert wunderbar. Auch das Übertragen von RichEdit-Inhalten über Streams funktioniert wie gewünscht.
Nur mit der Übergabe an einen SQL-Parameter gehts bei mir nicht.

Wer hat ne Idee?

Gruß Andreas
  Mit Zitat antworten Zitat