PDA

View Full Version : سوال: مشکل در عملکرد دستور insert



ehsan#baharangiz
شنبه 26 اردیبهشت 1394, 12:26 عصر
سلام من یه کد نوشتم که کار ذخیره اطلاعاتو انجام میده ولی وقتی مقدار کلید جدولو تکراری وارد میکنم میره و catch رو اجرا میکنه تا اینجا مشکلی نداره
مشکل اینجاست وقتی پیغام قسمت catch اجرا میشه بعد اون دیگه هرچقدر مقدار درستم وارد میکنیم باز همون پیغامو نشون میده باید حتما یکبار اون صفحه رو ببندی دوباره باز کنی تا درست بشه.ممنون میشم کمک کنین
اینم کد:



private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text.Equals("") || textBox2.Text.Equals("") || textBox3.Text.Equals("") || textBox4.Text.Equals(""))
{
MessageBox.Show(this, "اطلاعات ناقص هستند", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
return;


}
try
{
con.Open();
SqlCommand cmd = new SqlCommand("insert into sabtj (numj,datej,numsh,datesh,numdabir,datedabir,dateba rasi,vazj,typej,city) Values (@numj,@datej,@numsh,@datesh,@numdabir,@datedabir, @datebarasi,@vazj,@typej,@city)", con);
cmd.Parameters.AddWithValue("numj", textBox1.Text);
cmd.Parameters.AddWithValue("datej", textBox2.Text);
cmd.Parameters.AddWithValue("numsh", textBox3.Text);
cmd.Parameters.AddWithValue("datesh", textBox4.Text);
cmd.Parameters.AddWithValue("numdabir", textBox5.Text);
cmd.Parameters.AddWithValue("datedabir", textBox6.Text);
cmd.Parameters.AddWithValue("datebarasi", textBox7.Text);
cmd.Parameters.AddWithValue("vazj", comboBox1.Text);
cmd.Parameters.AddWithValue("typej", comboBox2.Text);
cmd.Parameters.AddWithValue("city", comboBox3.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(this, "اطلاعات با موفقیت به ثبت رسید", "اتمام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
Bind();
Clear();
}
catch
{
MessageBox.Show(this, "ghader nist", "اتمام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
}
private void Clear()
{
textBox1.Text = string.Empty;
textBox2.Text = string.Empty;
textBox3.Text = string.Empty;
textBox4.Text = string.Empty;
textBox5.Text = string.Empty;
textBox6.Text = string.Empty;
textBox7.Text = string.Empty;
comboBox1.Text = string.Empty;
comboBox2.Text = string.Empty;
comboBox3.Text = string.Empty;
}
private void Bind()
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from sabtj", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
}

ehsan#baharangiz
شنبه 26 اردیبهشت 1394, 20:30 عصر
به نظر دوستان مشکل این کد چیه؟

ehsan#baharangiz
شنبه 26 اردیبهشت 1394, 20:37 عصر
این کد update هم فقط یه بار ایجرا میشه به نظر شما مشکل این کد چیه


if (textBox8.Text.Equals("") || comboBox4.Text.Equals("") || comboBox5.Text.Equals("") || textBox9.Text.Equals(""))
{
MessageBox.Show(this, "اطلاعات ناقص هستند", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
return;
}
try
{
if (radioButton1.Checked == true)
{


con.Open();

SqlCommand cmd = new SqlCommand("UPDATE sabtm SET kholasem=@kholasem,typem=@typem,mgha=@mgha,tajdid= @tajdid,hal=@hal,numj=@numj where id=@id", con);
cmd.Parameters.AddWithValue("id", label15.Text);
cmd.Parameters.AddWithValue("kholasem", textBox8.Text);
cmd.Parameters.AddWithValue("typem", comboBox4.Text);
cmd.Parameters.AddWithValue("mgha", comboBox5.Text);
cmd.Parameters.AddWithValue("tajdid", "خیر");
cmd.Parameters.AddWithValue("hal", "بلی");
cmd.Parameters.AddWithValue("numj", textBox9.Text);
;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(this, "اطلاعات با موفقیت به ثبت رسید", "اتمام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
Bind1();
Clear1();


}
else if (radioButton2.Checked == true)
{


con.Open();
SqlCommand cmd = new SqlCommand("update set sabtm kholasem=@kholasem,typem=@typem,mgha=@mgha,tajdid= @tajdid,hal=@hal,numj=@numj where id=@id", con);
cmd.Parameters.AddWithValue("id", label15.Text);
cmd.Parameters.AddWithValue("kholasem", textBox8.Text);
cmd.Parameters.AddWithValue("typem", comboBox4.Text);
cmd.Parameters.AddWithValue("mgha", comboBox5.Text);
cmd.Parameters.AddWithValue("tajdid", "بلی");
cmd.Parameters.AddWithValue("hal", "خیر");
cmd.Parameters.AddWithValue("numj", textBox9.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(this, "اطلاعات با موفقیت به ثبت رسید", "اتمام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
Bind1();
Clear1();
}


else if (radioButton1.Checked == false || radioButton2.Checked == false)
{
con.Open();
SqlCommand cmd = new SqlCommand("update set sabtm kholasem=@kholasem,typem=@typem,mgha=@mgha,tajdid= @tajdid,hal=@hal,numj=@numj where id=@id", con);
cmd.Parameters.AddWithValue("id", label15.Text);
cmd.Parameters.AddWithValue("kholasem", textBox8.Text);
cmd.Parameters.AddWithValue("typem", comboBox4.Text);
cmd.Parameters.AddWithValue("mgha", comboBox5.Text);
cmd.Parameters.AddWithValue("tajdid", " ");
cmd.Parameters.AddWithValue("hal", " ");
cmd.Parameters.AddWithValue("numj", textBox9.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(this, "اطلاعات با موفقیت به ثبت رسید", "اتمام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
Bind1();
Clear1();




}
}
catch
{


MessageBox.Show(this, " برنامه قادر به ذخیره سازی اطلاعات نیست", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);


}
}