Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Polecenie wstawiania mySQL w VB.NET

Poprawna składnia dodawania NOWEGO rekordu do tabeli powinna wyglądać następująco

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

I oczywiście każde polecenie powinno zostać wykonane, w przeciwnym razie jest to tylko bezużyteczna linia kodu.
Po utworzeniu parametrów brakuje tej linii.

  SQLcmd.ExecuteNonQuery()

Z Twojego obrazu nie można być pewnym, ale jeśli idpresence jest polem AUTOINCREMENT, to nie powinieneś próbować ustawiać jego wartości za pomocą polecenia i parametru, ale pozwól, aby baza danych zrobiła to za Ciebie. (Problemy ze zduplikowanymi kluczami mogą się pojawić, jeśli więcej niż jeden użytkownik wstawi rekordy w tym samym czasie)

Ostatnią rzeczą jest to, że typ parametrów nie jest określony, więc nie są one zgodne z bazowym schematem tabeli danych. Możesz użyć AddWithValue i przekonwertować wejściowe wartości pól tekstowych na właściwy typ bazy danych

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GRUPA MySQL Według liczby

  2. Wstaw MySQL, jeśli warunek

  3. Przykład MySQL dla Visual Basic 6.0 — odczyt/zapis

  4. Policz rekordy zaczynające się od określonych liter

  5. Czy SQL może znaleźć rekordy z duplikatami?