Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lệnh chèn mySQL VB.NET

Cú pháp chính xác để thêm bản ghi MỚI vào bảng của bạn phải là

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

Và tất nhiên, mọi lệnh phải được thực thi nếu không nó chỉ là một dòng mã tiếng Mỹ.
Bạn thiếu dòng này sau khi tạo các tham số.

  SQLcmd.ExecuteNonQuery()

Không thể chắc chắn từ hình ảnh của bạn, nhưng nếu idpresence là trường AUTOINCREMENT, thì bạn không nên cố gắng đặt giá trị của nó bằng lệnh và tham số của mình mà hãy để cơ sở dữ liệu làm việc đó cho bạn. (Các vấn đề về khóa trùng lặp có thể phát sinh nếu nhiều người dùng chèn các bản ghi cùng một lúc)

Cuối cùng, loại tham số của bạn không được chỉ định nên chúng không khớp với lược đồ cơ sở dữ liệu. Bạn có thể sử dụng AddWithValue và chuyển đổi các giá trị hộp văn bản đầu vào thành loại cơ sở dữ liệu chính xác

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. Lỗi cú pháp tạo bảng

  2. .NET MySqlCommand @ placeholder xung đột với biến MySQL

  3. Sử dụng các hàm MySQL trong các câu lệnh chuẩn bị sẵn trong PHP PDO

  4. Chúng ta có thể đơn giản hóa hơn nữa truy vấn MySQL này không?

  5. Làm thế nào để tránh các ký tự rác / rác trong khi đọc dữ liệu từ nhiều ngôn ngữ?