【发布时间】:2011-09-25 09:57:09
【问题描述】:
我有以下控件:
- textbox1 - 这是我输入消息的地方。
- listbox1 - 这是我显示消息的地方。
- button1 -这是将我的消息发布到服务器的地方。
- StatusStrip1.Title1 - 这是当前用户的标题所在的位置。 (即:管理员、经理……等)
我在 MYSQL 数据库中有一个名为“messages”的表和一个名为“message”的列。当我在 textbox1 中输入内容并单击 button1 时,我想在“消息”列下的“消息”中添加一行,标题和消息作为其值。(由连字符、破折号或其他小分隔符分隔)然后重新加载 listbox1内容以显示新消息。
所以我希望最后的消息是这样的:
管理员 - Hello World!
我目前有以下代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sqlpost As MySqlCommand = New MySqlCommand("INSERT INTO messages(message) VALUES(?name - ?message)"";", con)
sqlpost.Parameters.AddWithValue("?name", Title2.Text)
sqlpost.Parameters.AddWithValue("?message", TextBox1.Text)
Try
con.Close()
con.Open()
' Sending message.
If TextBox1.Text = "" Then
MessageBox.Show("You forgot to type a message!")
Else
sqlpost.ExecuteNonQuery()
' Reloading messages.
ListBox1.Items.Clear()
reader = sqlmessages.ExecuteReader()
While (reader.Read)
ListBox1.Items.Add(reader.Item("message"))
ListBox1.Items.Add("")
End While
reader.Close()
con.Close()
TextBox1.Text = ""
Label4.Text = "Message Sent!"
Timer2.Start()
End If
Catch myerror As MySqlException
MessageBox.Show("Error sending message to server: " & myerror.Message)
End Try
End Sub
我以前可以使用它,但是当我对其进行更改时,它出现了各种 sql 语句语法错误...(诸如“管理员”的无效截断值或无效的 DOUBLE 值“hello”之类的东西)现在它甚至不会显示当前“消息”表中的任何消息...)
如果有人能告诉我我做错了什么,或者更有效的方法,那么我将不胜感激!谢谢!
【问题讨论】: