sql >> Database >  >> RDS >> Mysql

mysql-uitzondering onjuiste integerwaarde:'@column' voor kolom van asp.net-webtoepassing

Twee fouten.

Ten eerste:de tijdelijke aanduiding voor parameters mag niet tussen enkele aanhalingstekens worden geplaatst. Anders worden ze letterlijke tekenreeksen en worden ze niet meer herkend

Tweede:AddWithValue heeft twee parameters. De eerste is de naam van de parameter, de tweede is de waarde, niet het databasetype.

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

Natuurlijk loopt dit het risico een uitzondering te genereren als de ageBox is leeg. Ik weet niet wat uw vereisten zijn, maar als het veld Leeftijd een geldig getal moet zijn, kan een beetje foutcontrole worden toegevoegd om banale fouten te voorkomen.

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



  1. Waarom en wanneer moet ik SPARSE COLUMN gebruiken? (SQL-SERVER 2008)

  2. Waarom krijg ik dat de MySQL-server is verdwenen, uitzondering in Django?

  3. Vaste waarde splitsen naar landen op basis van dagelijks inkomstenaandeel

  4. Hoe de huidige taal in SQL Server (T-SQL) in te stellen