Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql-Ausnahme falscher ganzzahliger Wert:'@column' für Spalte aus der asp.net-Webanwendung

Zwei Fehler.

Erstens:Der Parameterplatzhalter sollte nicht in einfache Anführungszeichen gesetzt werden. Andernfalls werden sie zu wörtlichen Zeichenfolgen und werden nicht mehr erkannt

Zweiter:AddWithValue nimmt zwei Parameter. Der erste ist der Name des Parameters, der zweite ist der Wert, nicht der Datenbanktyp.

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

Natürlich besteht die Gefahr, dass eine Ausnahme ausgelöst wird, wenn die ageBox ist leer. Ich kenne Ihre Anforderungen nicht, aber wenn das Altersfeld eine gültige Zahl sein muss, könnte ein bisschen Fehlerprüfung hinzugefügt werden, um banale Fehler zu vermeiden.

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