Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql изключение неправилна стойност на цяло число:'@column' за колона от уеб приложение asp.net

Две грешки.

Първият:Заместителят на параметрите не трябва да бъде затворен в единични кавички. В противен случай те стават буквални низове и вече не се разпознават

Вторият:AddWithValue приема два параметъра. Първият е името на параметъра, вторият е стойността, а не типа на базата данни.

  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();

Разбира се, това има риск от хвърляне на изключение, ако ageBox празно е. Не знам вашите изисквания, но ако се изисква полето за възраст да бъде валидно число, тогава може да се добави малко проверка на грешки, за да се предотвратят банални грешки.

 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 LOAD DATA INFILE със запетая като десетичен разделител

  2. Най-добри практики за съхранение на банкова информация в база данни

  3. PHP float/double се съхранява като MySQL DECIMAL

  4. Грешка:ER_WRONG_VALUE_COUNT_ON_ROW:Броят на колоните не съвпада с броя на стойностите на ред 1

  5. Начин за прекратяване на изпълнението на MySQL скриптове (може би пораждаща грешка)?