Dua kesalahan.
Yang pertama:Placeholder parameter tidak boleh diapit dalam tanda kutip tunggal. Jika tidak, mereka menjadi string literal dan tidak dikenali lagi
Yang kedua:AddWithValue membutuhkan dua parameter. Yang pertama adalah nama parameter, yang kedua adalah nilai bukan tipe 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();
Tentu saja ini berisiko menimbulkan pengecualian jika ageBox
kosong. Saya tidak tahu persyaratan Anda, tetapi jika bidang Usia harus berupa angka yang valid, maka sedikit pemeriksaan kesalahan dapat ditambahkan untuk mencegah kesalahan biasa.
int ageValue;
if(!Int32.TryParse(ageBox.Text, out ageValue))
{
MessageBox.Show("Please type a valid value for Age!");
return;
}
.... insert code follows...