Mysql
 sql >> Database >  >> RDS >> Mysql

mysql eccezione valore intero errato:'@column' per la colonna dall'applicazione web asp.net

Due errori.

Primo:il segnaposto dei parametri non deve essere racchiuso tra virgolette singole. Altrimenti diventano stringhe letterali e non vengono più riconosciute

Secondo:AddWithValue accetta due parametri. Il primo è il nome del parametro, il secondo è il valore non il tipo di database.

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

Ovviamente questo è a rischio di generare un'eccezione se ageBox è vuoto. Non conosco i tuoi requisiti, ma se il campo Età deve essere un numero valido, è possibile aggiungere un po' di controllo degli errori per evitare errori banali.

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