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

Chèn câu lệnh vào cơ sở dữ liệu SQL Server

Có ba trường hợp có thể xảy ra cho một phụ trang như vậy:

  1. Chèn thành công.
  2. Bạn có một ngoại lệ.
  3. Bạn có một trình kích hoạt có thể thay thế chèn bằng một số thao tác khác.

Tôi đoán rằng bạn không có trình kích hoạt và vì bạn không nhận được bản ghi trong bảng, nên phải có một ngoại lệ.

Bạn có bất kỳ mã nào bắt được ngoại lệ ở bất kỳ cấp nào khác không? Điều đó sẽ giải thích tại sao bạn không nhìn thấy nó và nó cũng sẽ khiến kết nối cơ sở dữ liệu không được tiết lộ, điều này sẽ giải thích tại sao bạn gặp sự cố khi kết nối với cơ sở dữ liệu sau đó.

Sử dụng using khối cho kết nối cơ sở dữ liệu sẽ đóng nó đúng cách ngay cả khi có lỗi trong mã.

Bạn đang sử dụng truy vấn được tham số hóa, nhưng tôi không thể thấy rằng bạn thêm các tham số vào đối tượng lệnh ở bất kỳ vị trí nào trong mã. Đó sẽ là một cái gì đó giống như:

cmd.Parameters.Add("Price", SqlDbType.Decimal).Value = price;
cmd.Parameters.Add("User", SqlDbType.NChar, 20).Value = user;
cmd.Parameters.Add("Time", SqlDbType.NChar, 15).Value = time;
cmd.Parameters.Add("Customer", SqlDbType.NChar, 10).Value = customer;
cmd.Parameters.Add("Discount", SqlDbType.Decimal).Value = discount;
cmd.Parameters.Add("FullPrice", SqlDbType.Decimal).Value = fullPrice;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tối ưu hóa TempDB:Tránh tắc nghẽn và các vấn đề về hiệu suất

  2. Mạo danh trong Chế độ xem Máy chủ SQL?

  3. Không sử dụng sys.sql_dependencies trong SQL Server (nó không được dùng nữa)

  4. Cập nhật nhiều bảng với liên kết bên trong

  5. Truy vấn sql cho bảng cây