Я пытаюсь сделать небольшую программу, которая пишет и читает из базы данных Mysql. Читающая часть идет хорошо, но я немного застрял в записи.
Это мой код:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Absenden.Click
Dim conn As New MySqlConnection
Dim command As MySqlCommand
Dim myConnectionString As String
myConnectionString = "server=Nothing;uid=to;pwd=see;database=here;"
conn.ConnectionString = myConnectionString
Try
conn.Open()
Dim Querywrite As String
Querywrite = "select * FROM here.message INSERT INTO message admin='" & TB_Name.Text & "' and message='" & TB_Nachricht.Text & "' and Server='" & TB_Server.Text & "' and status='" & TB_Status.Text & "' "
command = New MySqlCommand(Querywrite, connection)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
conn.Close()
End Sub
Я думаю, что часть Querywrite
- это проблема. Вход поступает из текстовых полей в форме Windows.
Спасибо за вашу помощь!
Возможно, если кто-то покажет вам один раз, тогда вы получите эту идею. Главное - всегда использовать параметры; вы не только избегаете незначительных ошибок ситакса и типа, но и избегаете серьезных бедствий вредоносного ввода. Я догадался о типах данных ваших полей. Пожалуйста, проверьте свою базу данных для типов и соответствующим образом скорректируйте свой код.
Private Sub InsertData()
Dim strQuery As String = "Insert Into message (admin, message, Server, status) Values (@admin, @message, @Server, @status);"
Using cn As New MySqlConnection("your connection string")
Using cmd As New MySqlCommand With {
.Connection = cn,
.CommandType = CommandType.Text,
.CommandText = strQuery}
cmd.Parameters.Add("@admin", MySqlDbType.VarString).Value = TB_Name.Text
cmd.Parameters.Add("@message", MySqlDbType.VarString).Value = TB_Nachricht.Text
cmd.Parameters.Add("@Server", MySqlDbType.VarString).Value = TB_Server.Text
cmd.Parameters.Add("@status", MySqlDbType.VarString).Value = TB_Status.Text
cn.Open()
cmd.ExecuteNonQuery()
cn.Close()
End Using
End Using
End Sub