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

ngoại lệ mysql giá trị số nguyên không chính xác:'@column' cho cột từ ứng dụng web asp.net

Hai lỗi.

Điều đầu tiên:Phần giữ chỗ tham số không được đặt trong dấu ngoặc kép. Nếu không, chúng trở thành chuỗi ký tự và không được nhận dạng nữa

Thứ hai:AddWithValue nhận hai tham số. Cái đầu tiên là tên của tham số, cái thứ hai là giá trị không phải là kiểu cơ sở dữ liệu.

  MySqlCommand cmd = new MySqlCommand(@"Insert into personal(PAN,PName,Age)
                                       values(@PAN,@PName,@Age)",con);
  cmd.Parameters.AddWithValue("@PAN",panBox.Text);
  cmd.Parameters.AddWithValue("@PName", nameBox.Text);
  cmd.Parameters.AddWithValue("@Age",Convert.ToInt32(ageBox.Text));
  cmd.ExecuteNonQuery();

Tất nhiên, điều này có nguy cơ ném ra một ngoại lệ nếu ageBox trống rỗng. Tôi không biết yêu cầu của bạn nhưng nếu trường Tuổi bắt buộc phải là một số hợp lệ thì có thể thêm một chút kiểm tra lỗi để tránh những lỗi tầm thường.

 int ageValue;
 if(!Int32.TryParse(ageBox.Text, out ageValue))
 {
     MessageBox.Show("Please type a valid value for Age!");
     return;
 }
 .... insert code follows...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql:BẢNG RENAME NẾU TỒN TẠI

  2. Câu hỏi thiết kế DB về Khóa ngoại không thể xóa và chuẩn hóa

  3. MySql - Cách chọn một dải id trong các khoảng thời gian đã định

  4. Chèn bằng PreparedStatement. Làm cách nào để tự động tăng ID?

  5. Cách tốt nhất để tạo tệp cấu hình (config.php) php