Mysql
 sql >> Database >  >> RDS >> Mysql

Comando di inserimento di VB.NET MySQL

La sintassi corretta per aggiungere un NUOVO record alla tua tabella dovrebbe essere

 Dim SqlQuery As String = "INSERT INTO presence(id_presence,id,hours,date) " & _
                          "VALUES (@Id_presence,@Id,@Hours,@Date)"

E, ovviamente, ogni comando dovrebbe essere eseguito altrimenti è solo un'inutile riga di codice.
Ti manca questa riga dopo la creazione dei parametri.

  SQLcmd.ExecuteNonQuery()

Dalla tua immagine non è possibile essere sicuri, ma se l'idpresence è un campo AUTOINCREMENT, allora non dovresti provare a impostarne il valore con il tuo comando e parametro ma lasciare che il database lo faccia per te. (Potrebbero sorgere problemi di chiavi duplicate se più utenti inseriscono record contemporaneamente)

Come ultima cosa, il tipo dei tuoi parametri non è specificato, quindi non corrispondono allo schema datatable sottostante. È possibile utilizzare AddWithValue e convertire i valori della casella di testo di input nel tipo di database corretto

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))