sql >> Databasteknik >  >> RDS >> Mysql

VB.NET mySQL infogningskommando

Den korrekta syntaxen för att lägga till en NY post i din tabell bör vara

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

Och naturligtvis bör varje kommando köras annars är det bara en användbar kodrad.
Du saknar den här raden efter att parametrarna skapats.

  SQLcmd.ExecuteNonQuery()

Från din bild är det inte möjligt att vara säker, men om idpresence är ett AUTOINCREMENT-fält, bör du inte försöka ställa in dess värde med ditt kommando och parameter utan låta databasen göra det åt dig. (Problem med dubbletter av nycklar kan uppstå om mer än en användare infogar poster samtidigt)

Som en sista sak anges inte dina parametrars typ så att de inte matchar det underliggande datatabellschemat. Du kan använda AddWithValue och konvertera inmatningstextrutans värden till rätt databastyp

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


  1. MySQL SSL-fjärranslutningsfel:Det går inte att hämta privat nyckel

  2. Php Mysql Sök mellan två datum

  3. Hur man uppdaterar tabellen automatiskt i MYSQL med TRIGGER

  4. Optimera Mysql-databaser