【问题标题】:vb.net Writing & Reading Multiline Text in MySQL Databasevb.net 在 MySQL 数据库中编写和读取多行文本
【发布时间】:2016-03-10 13:08:04
【问题描述】:

我正在尝试创建一个消息传递系统,例如我在 MySQL 数据库中有一个名为 tbluser 的表,它保存每个用户的数据。一条记录是具有“StatusMessage”字段的一个用户。该字段可以具有可以写入多行的值,但我在如何使用 ListBox 将该字段包含的文本分成多行时遇到了麻烦。

Private Sub lstMessages_VisibleChanged(sender As Object, e As EventArgs) Handles lstMessages.VisibleChanged
    Dim Query As String = "SELECT StatusMessage FROM tbluser WHERE UserID=@userID"

    Using Conn As New MySqlConnection(MySQL.ConnectionDetails)
        Using Comm As New MySqlCommand()
            With Comm
                .Connection = Conn
                .CommandText = Query
                .CommandType = CommandType.Text
                .Parameters.AddWithValue("@userID", CInt(cboSelectUser.SelectedItem.ToString))
            End With
            Try
                Conn.Open()
                Dim Reader As MySqlDataReader = Comm.ExecuteReader
                lstMessages.Items.Clear()
                While Reader.Read OrElse (Reader.NextResult And Reader.Read)
                    lstMessages.Items.Add(Reader.GetString(0))
                End While
            Catch ex As MySqlException

            End Try
        End Using
    End Using

End Sub

此时,所有文本都显示在一行中。

另外,还有一个问题,我如何将多行文本插入到数据库中。

【问题讨论】:

  • 所以有人正在输入文本,比如说,在一行的末尾有一个逗号,你想要一个列表框来分隔它们,而一行的末尾可能有一个逗号?那看起来会很奇怪。请注意,我在最后加上逗号可能是一个极端,而不是你的情况
  • 分割函数会在特定字符处分割行。然后您可以将其写入数据库

标签: mysql vb.net text multiline


【解决方案1】:

为了解决这个问题,我最终将使用的组件更改为 RichTextBox。此外,我将 MySQL 中的新行字符串“\n”的每个实例都更改为 Environment.NewLine()。

要在字段中插入新消息,我必须选择字段中已有的所有文本,然后添加到该文本中,因此我使用了 SELECT 查询和 UPDATE 查询以及 Environment.NewLine() 的组合,所以我可以写入新行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 2014-03-02
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多