Text aus SQLIte DB in Textbox, Formatierung nicht vorhanden

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Pacemaker.

    Text aus SQLIte DB in Textbox, Formatierung nicht vorhanden

    Hallo zusammen,

    bin gerade am verzweifeln.
    Ich speichere in einer sqlite DB in einer Tabelle verschiedene Textvorlagen.
    Diese möchte ich in eine Textbox(Multiline) einlesen. Jedoch wird beim einlesen die komplette Formatierung(Absätze etc.) entfernt.
    Gebe ich den selben Text über eine Messagebox aus, wird der Text korrekt dargestellt.
    Ich frage mich nun wieso ?(

    Hier meine 2 Subs dazu



    VB.NET-Quellcode

    1. Private Function QueryDB(ByVal statement As String) As List(Of String)
    2. Dim connect As New SQLiteConnection()
    3. Dim command As SQLiteCommand
    4. Dim out As New List(Of String)
    5. With connect
    6. .ConnectionString = "Data Source=Sammelbestellung.db3;"
    7. .Open()
    8. End With
    9. command = connect.CreateCommand
    10. command.CommandText = statement
    11. Dim SQL As SQLiteDataReader = command.ExecuteReader()
    12. If SQL.HasRows Then
    13. While SQL.Read
    14. For i As Integer = 0 To SQL.FieldCount - 1
    15. out.Add(CStr(SQL(i)))
    16. Next
    17. End While
    18. End If
    19. connect.Close()
    20. Return out
    21. End Function


    VB.NET-Quellcode

    1. Sub LoadText(ByVal Textname As String)
    2. Dim statement As String = "SELECT Text FROM tbl_Texte WHERE Textname=" & Chr(34) & Textname & Chr(34) & ";"
    3. Dim Text As New List(Of String)
    4. Text.AddRange(QueryDB(statement))
    5. frm_Texteditor.rtb_Eingabe.Text = Text.Item(0)
    6. End Sub



    Kann mir jemand helfen?

    Vielen Dank schon mal

    Grüße
    Sebastian

    PS: Was mache ich nur falsch hier beim Code eingeben? ?(

    EDIT: Wenn ich statt einer Textbox eine Richtextbox verwende wird der Text normal angezeigt. Woran könnte das liegen?

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Pacemaker“ ()

    Danke für den Tipp mit dem VB Code. Habs nun oben geändert.

    Ich nutze nun die Richtextbox für meine Texte. Jedoch würde ich gern wissen ob es auch möglich ist wieder die Textbox zu nutzen.
    Denn bisher hatte ich keine DB genutzt, sondern Textdateien die ich eingelesen hatte.
    Lässt sich das mit den Zeichen irgendwie lösen?
    vlt. mit String.Replace.

    erstmal alle CrLf ersetzen durch Lf.
    Dann alle Lf ersetzen durch CrLf.

    diese doppelte Ersetzung aus Vorsicht, falls mal in einem Text ein CrLf bereits vor-vorhanden ist.


    Aber mit deim Code hader ich noch - da wird ja jedes Command 2 mal ausgeführt: einmal mit ExecuteNonQuery und einmal mit ExecuteReader
    Edit by ErfinderDesRades: unnötiges Vollzitat entfernt

    Hi,

    Hast recht. Habs "ExecuteNonQuery" rausgenommen :) Danke dafür

    Ich schau mal ob ich nicht doch bei der Richtextbox bleibe. Die Gestaltungsmöglichkeiten bringen mich auf Ideen.

    Danke erst mal :)

    Grüße
    Sebastian

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()