Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Die Zeilen eines TMemo in die Datenbank (Tabelle) speich

  Alt 8. Sep 2007, 14:38
Nehmen wir mal du hättest eine Tabelle TBS: ID, NAME, TEXT - dann ist ID der automatisch vergebene Primärschlüssel, NAME eine kurze Identifikation zur Benutzerauswahl und TEXT der vollständige Textbaustein. In Schlüsselfelder schreibst du also gar nichts und auch das zeilenweise Speichern unterbleibt.

Zitat von marabu:
... Beispiele für das Ansprechen von Blob-Feldern aus Delphi heraus findest du in der ABS-Hilfe unter dem Indexeintrag BLOB...
Der Code muss zwar noch ein wenig an deine Bedürfnisse angepasst werden, aber er zeigt schon die wesentlichen Dinge:

Aus der ABS Online Hilfe
Delphi-Quellcode:
procedure TForm1.btLoadClick(Sender: TObject);
var
  FileStream: TFileStream;
  BlobStream: TABSBlobStream;
begin
  ABSTable1.Edit;
  try
    FileStream := TFileStream.Create('Comments.txt',fmOpenRead or fmShareDenyNone);
    BlobStream := ABSTable1.CreateBlobStream(ABSTable1.FieldByName('Comments'),bmWrite);
    BlobStream.CopyFrom(FileStream,FileStream.Size);
    FileStream.Free;
    BlobStream.Free;
    ABSTable1.Post;
  except
    ABSTable1.Cancel;
    raise;
  end;
end;

Der Trick mit dem BlobStream funktioniert mit TField, aber auch mit TParameter. Im Beispiel liest ein Stream aus einem anderen. Du hast deinen Textbaustein in einem TMemo erfasst, also würde ich es umdrehen und mit Memo.Lines.SaveToStream() in den BlobStream schreiben.
  Mit Zitat antworten Zitat