Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Comando de inserção do MySQL do VB.NET


A sintaxe correta para adicionar um NOVO registro à sua tabela deve ser
 Dim SqlQuery As String = "INSERT INTO presence(id_presence,id,hours,date) " & _
                          "VALUES (@Id_presence,@Id,@Hours,@Date)"

E, claro, todos os comandos devem ser executados, caso contrário são apenas linhas de código inúteis.
Você está perdendo esta linha após a criação dos parâmetros.
  SQLcmd.ExecuteNonQuery()

Da sua imagem não é possível ter certeza, mas se o idpresence for um campo AUTOINCREMENT, então você não deve tentar definir seu valor com seu comando e parâmetro, mas deixar o banco de dados fazer isso por você. (Problemas de chaves duplicadas podem surgir se mais de um usuário inserir registros ao mesmo tempo)

Por último, o tipo de seus parâmetros não é especificado para que eles não correspondam ao esquema de tabela de dados subjacente. Você pode usar AddWithValue e converter os valores da caixa de texto de entrada para o tipo de banco de dados correto
SQLcmd.Parameters.AddWithValue("@Id_presence", Convert.ToInt32(TextBox1.Text))
SQLcmd.Parameters.AddWithValue("@Id", Convert.ToInt32(TextBox2.Text))
SQLcmd.Parameters.AddWithValue("@Hours", Convert.ToInt32(TextBox3.Text))
SQLcmd.Parameters.AddWithValue("@Date", Convert.ToDateTime(TextBox4.Text))