sql >> Database >  >> RDS >> Mysql

VB.NET mySQL-opdracht invoegen

De juiste syntaxis voor het toevoegen van een NIEUW record aan uw tabel zou moeten zijn:

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

En natuurlijk moet elke opdracht worden uitgevoerd, anders zijn het gewoon nutteloze regels code.
Je mist deze regel na het maken van de parameters.

  SQLcmd.ExecuteNonQuery()

Van uw afbeelding is het niet mogelijk om zeker te zijn, maar als de idpresence een AUTOINCREMENT-veld is, moet u niet proberen de waarde ervan in te stellen met uw opdracht en parameter, maar de database het voor u laten doen. (Er kunnen problemen met dubbele sleutels optreden als meer dan één gebruiker tegelijkertijd records invoegt)

Als laatste ding is het type van uw parameters niet gespecificeerd, zodat ze niet overeenkomen met het onderliggende gegevenstabelschema. U kunt AddWithValue gebruiken en de ingevoerde tekstvakwaarden converteren naar het juiste databasetype

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. Cygnus houdt geen gegevens bij in de MySql-database

  2. Een driewegrelatie modelleren in een JPA Spring Boot-microservice met een MySQL-backend

  3. Waarom voegt de functie 'insert' geen rijen toe met MySQLdb?

  4. Mysql selecteert meerdere rijen op basis van één rijgerelateerd datumbereik