दो त्रुटियाँ।
पहला वाला:पैरामीटर प्लेसहोल्डर को सिंगल कोट्स में संलग्न नहीं किया जाना चाहिए। अन्यथा वे शाब्दिक तार बन जाते हैं और अब पहचाने नहीं जाते हैं
दूसरा एक:AddWithValue दो पैरामीटर लेता है। पहला पैरामीटर का नाम है, दूसरा वह मान है जो डेटाबेस प्रकार नहीं है।
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();
बेशक यह एक अपवाद फेंकने का जोखिम है यदि ageBox
खाली है। मैं आपकी आवश्यकताओं के बारे में नहीं जानता, लेकिन यदि आयु फ़ील्ड को एक मान्य संख्या होना आवश्यक है, तो सामान्य त्रुटियों को रोकने के लिए थोड़ी सी त्रुटि जाँच जोड़ी जा सकती है।
int ageValue;
if(!Int32.TryParse(ageBox.Text, out ageValue))
{
MessageBox.Show("Please type a valid value for Age!");
return;
}
.... insert code follows...