sql >> Databáze >  >> RDS >> Mysql

mysql výjimka nesprávná celočíselná hodnota:'@sloupec' pro sloupec z webové aplikace asp.net

Dvě chyby.

První:Zástupný symbol parametrů by neměl být uzavřen v jednoduchých uvozovkách. Jinak se stanou doslovnými řetězci a nebudou nadále rozpoznávány

Druhý:AddWithValue má dva parametry. První je název parametru, druhý je hodnota, nikoli typ databáze.

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

Samozřejmě je zde riziko vyvolání výjimky v případě ageBox je prázdný. Neznám vaše požadavky, ale pokud je vyžadováno, aby pole Věk bylo platné číslo, je možné přidat trochu kontroly chyb, aby se předešlo banálním chybám.

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



  1. MYSQL TINYBLOB vs LONGBLOB

  2. MariaDB JSON_REPLACE() Vysvětleno

  3. jak zkontrolovat, zda je databáze konzistentní po nedokončené obnově

  4. Resque Mysql2::Error:Uživatel překročil zdroj 'max_user_connections' (aktuální hodnota:10)