To fejl.
Den første:Parametrenes pladsholder bør ikke være omgivet af enkelte anførselstegn. Ellers bliver de bogstavelige strenge og genkendes ikke længere
Andet:AddWithValue tager to parametre. Den første er navnet på parameteren, den anden er værdien og ikke databasetypen.
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();
Dette risikerer selvfølgelig at give en undtagelse, hvis ageBox
er tom. Jeg kender ikke dine krav, men hvis feltet Alder skal være et gyldigt tal, kan der tilføjes en smule fejlkontrol for at forhindre banale fejl.
int ageValue;
if(!Int32.TryParse(ageBox.Text, out ageValue))
{
MessageBox.Show("Please type a valid value for Age!");
return;
}
.... insert code follows...