sql >> Base de Datos >  >> RDS >> Mysql

excepción mysql valor entero incorrecto:'@column' para la columna de la aplicación web asp.net

Dos errores.

Primero:el marcador de posición de los parámetros no debe estar entre comillas simples. De lo contrario, se convierten en cadenas literales y ya no se reconocen

Segundo:AddWithValue toma dos parámetros. El primero es el nombre del parámetro, el segundo es el valor, no el tipo de base de datos.

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

Por supuesto, esto corre el riesgo de generar una excepción si ageBox esta vacio. No conozco sus requisitos, pero si se requiere que el campo Edad sea un número válido, se podría agregar un poco de verificación de errores para evitar errores banales.

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