[SQLite] RTF-Datei speichern.

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Programmer85.

    [SQLite] RTF-Datei speichern.

    Guten Morgen!
    Ist es möglich, den Inhalt einer RichTextBox in eine SQLite Datenbank zu speichern? Die Formatierung sowie eingefügte Bilder sollten möglichst erhalten bleiben. Leider hab ich noch keine Möglichkeit gefunden, dies zu realisieren. Wie man eine Datenbank erstellt, Daten einfügt etc. pp. ist so mir bekannt :) Das Problem beschränkt - wie angedeutet - darauf, den Inhalt einer RichTextBox samt Formatierung und Bilder zu speichern.

    Vielen Dank.
    PS: All die, die auch von einer Grippe heimgesucht worden sind, d ont panic! Armdrücken gegen den Sensemann gewinnt ihr allemal ;)
    ich könnte es mir so vorstellen, dass du beim abspeichern in die db gewisse "codes" mitgibst.
    zB.
    das hier ist fett

    nun speicherst du in die db vor dem fett einen gewählten code was du vorher halt abfragen musst.
    dann steht in der db dann zB.
    das hier ist [FETT]fett[/FETT]
    die bilder machst halt auch so mit dem pfad von wo das bild ist (datei, ressourcen)

    beim auslesen machst dann das gleiche in die entgegengesetzte Richtung

    lg
    Guten Morgen fichz,

    diese Idee hatte ich auch schon gehabt. Verwenden könnte ich insoweit die üblichen "BB-CODES". Wäre auch zweifelsfrei ohne großen Aufwand zu relasieren. Jedoch fände ich es schöner, die entsprechende Datei direkt in die SQLite Datenbank zu speichern, ohne diesen Umweg zu gehen.
    Naja, bei "gewöhnlichen" Datenbanken ist es durchaus möglich, Daten, mithin auch Bilder etc., in einer Datenbank zu speichern. Man benötigt den Datentyp "BLOB". Nun hab ich gerade festgestellt, dass es auch möglich ist, bei SQLite 3.x diesen Datentyp zu verwenden. Entsprechend müsste man auch Dateien in die Datenbank packen können.

    Ich hab Testweise mit "SQLite Manager" eine Tabelle erstellt und eine .pdf Datei darin gespeichert. Hat sogar funktioniert. Ich werde versuchen das ganze Prozedere nun für .rtf Dateien umzusetzen.

    Mal schauen, ob es funktioniert. Wenn jemand schneller ist, kann er seine Lösung mal aufzeigen. :thumbsup:
    Hmm, willst Du eine RTF-Datei in der DB speichern, oder nur den Inhalt einer RTF-Box?
    Für den ersten Fall brauchst Du BLOBs. Für den zweiten Fall eigentlich nur eine Text-Spalte.

    Erstelle mit z.B. Word eine RFT-Datei und speichere sie auf der Platte ab. Öffne sie dann mit Notepad. Dann siehst Du, dass RTF ähnlich wie HTML funktioniert. Die Formatierungen werden als bestimmte Codes gespeichert und vom entsprechenden Programm (Word, WordPad, RTF-Box, …) einfach nur interpretiert und bei der Anzeige durch die entsprechende Formatierung ersetzt.

    Wenn Du den gesamten Inhalt (also nicht nur den PlainText, sondern Text mit Formatierungen) als String in die DB speicherst, und genau so wieder abrufst und damit die RTF-Box füllst, müsste das doch schon reichen.

    Oder stehe ich auf dem Schlauch, und Du meinst etwas anderes?
    Edit:

    T1g0r hat hier eine relativ elegante Methode aufgezeigt, wie man Dateien in einer SQLite DB speichern kann.

    VB.NET-Quellcode

    1. 'Datei in Base64:
    2. Dim Base64 As String = Convert.ToBase64String(File.ReadAllBytes(Quelldatei))
    3. 'Base64 in Datei:
    4. File.WriteAllBytes(Zieldatei, Convert.FromBase64String(Base64))

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Programmer85“ ()