Одна вещь, которую я вижу, что выглядит неправильно, это то, что вы используете "?"для вас имена параметров в запросе.Символ по умолчанию, используемый для имен параметров, должен начинаться с «@».Хотя я думаю, что есть опция строки подключения для использования "?"поскольку именно это использовалось в более старых версиях коннектора MySQL, но текущим значением по умолчанию является «@».Кроме того, кажется, что есть некоторые проблемы с вашей командой в целом.У вас есть:
Dim sqlpost As MySqlCommand = New MySqlCommand("INSERT INTO messages(message) VALUES(?name - ?message)"";", con)
это должно быть что-то вроде
Dim sqlpost As MySqlCommand = New MySqlCommand("INSERT INTO messages(message) VALUES(@message);", con)
Я немного исправил запрос и заменил?с @.Вы можете выполнить объединение имени и сообщения (как вы пояснили в комментарии) в VB с помощью некоторого кода, такого как этот:
sqlpost.Parameters.AddWithValue("@message", Title2.Text & " - " & Title2.Text)
Я также вижу, что вы звоните
sqlmessages.ExecuteReader()
но я не вижу, где это инициализируется.