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

Truyền được chỉ định không phải là lỗi hợp lệ khi sử dụng C #

cmd1.ExecuteScalar() không trả về một số nguyên được đóng hộp. Gán nó cho một đối tượng và xem nó trong trình gỡ lỗi để xem nó thực sự là gì.

Tôi đoán nó sẽ trả về số thập phân hoặc số kép và bạn cần làm:

Int32 result = (Int32)(double)cmd1.ExecuteScalar();

Hoặc:

Int32 result = (Int32)(Decimal)cmd1.ExecuteScalar();

[CHỈNH SỬA để trả lời một câu hỏi trong dấu phẩy bên dưới]

Để giữ giá trị thập phân, chỉ cần thực hiện điều này:

Decimal result = (Decimal) cmd1.ExecuteScalar();

Nếu cần, bạn có thể chuyển số thập phân thành số kép:

double result = (double)(Decimal) cmd1.ExectuteScalar();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EF4 - Thủ tục được lưu trữ đã chọn trả về không có cột nào

  2. SQL - Làm cách nào để truy vấn các trường hợp đăng ký lại trong TSQL?

  3. Kết quả truy vấn cao hơn với Từ khóa DISTINCT?

  4. làm thế nào để tách chuỗi thành các cột khác nhau?

  5. T-SQL và mệnh đề WHERE LIKE% Tham số%