Блоки Using...End Using
закрывают и удаляют объекты вашей базы данных, даже если есть ошибка. В этот код включены как соединение, так и команда. Запишите запятую в конце строки Using
.
Всегда используйте параметры, чтобы избежать инъекции Sql. Метод .Add
предпочтительнее .AddWithValue
. Я должен был угадать тип данных и размер полей. Проверьте в вашей базе данных фактические значения.
Sub maj()
Dim resultat As Integer
Using cnx As New MySqlConnection("datasource=localhost;database=bdgeststock;username=root;password="),
cmd As New MySqlCommand("insert into utilisateur(login,`password`,type) values(@Login, @Password, @Type);", cnx)
cmd.Parameters.Add("@Login", MySqlDbType.VarChar).Value = TextBox3.Text
cmd.Parameters.Add("@Password", MySqlDbType.VarChar).Value = TextBox4.Text
cmd.Parameters.Add("@Type", MySqlDbType.VarChar).Value = ListBox1.SelectedItem
cnx.Open()
resultat = cmd.ExecuteNonQuery
End Using
If resultat = 0 Then
MessageBox.Show("error")
Else
MessageBox.Show("success")
End If
End Sub