PDA

View Full Version : دوبار دوبار درج شدن اطلاعات در بانک



mahtab_r
سه شنبه 21 مرداد 1393, 16:50 عصر
سلام دوستان
من یه سوالی داشتم من یه دستور برای اضافه شدن کتاب به جدول نوشتم ولی هر کتابی ک وارد میکنم نمیدونم چرا دوبار درج میشه!!!
تو جدول های دیگم این مشکلو ندارم.
ممنون میشم راهنمایی کنید. من باید چیکار کنم؟

erfan_urchin
سه شنبه 21 مرداد 1393, 16:52 عصر
خب احتمالا کد insert رو دوبار نوشتی
کد هاتو بزار بیشتر بتونیم راهنماییت کنیم

mahtab_r
سه شنبه 21 مرداد 1393, 20:22 عصر
دوست عزیز من چند تا شرط دارم به صورت زیر برای زبان کتاب که اگه کتابم مترجم داشته باشه نام مترجمم بگیره
ممنون میشم راهنماییی کنید.




string f = "فارسی";
string en = "انگلیسی";

if (txtBname.Text == "" || txtCount.Text == "" || txtauthor.Text == "" || txtIsbn.Text == "" || txtYear.Text == "" || cbPub.Text == "" || cbCat.Text == "")
MessageBox.Show("لطفا اطلاعات را کامل وارد کنید", "پیام", MessageBoxButtons.OK);
else
{
if (radioBtnTrans.Checked == true)
{

string add = "INSERT INTO book_tbl (" + "bname," + "bauthor," + "pid," + "isbn," + "catid," + "byear," + "bcount," + "blanguage," + "btranslator" + ")VALUES('" + txtBname.Text + "','" + txtauthor.Text + "','" + Int32.Parse(cbPub.SelectedValue.ToString()) + "','" + txtIsbn.Text + "','" + Int32.Parse(cbCat.SelectedValue.ToString()) + "','" + txtYear.Text + "','" + Int32.Parse(txtCount.Text) + "','" + f + "','" + txtTranslator.Text + "')";
catNewFrm.objcon.Open();
SqlCommand cmd = new SqlCommand(add, catNewFrm.objcon);
cmd.ExecuteNonQuery();
if (cmd.ExecuteNonQuery() == 1)
{
MessageBox.Show("درج اطلاعات با موفقیت انجام گردید");
cmd.Parameters.Clear();
}
else
{
MessageBox.Show("خطا");
}

catNewFrm.ds.Clear();
catNewFrm.da.Fill(catNewFrm.ds);
catNewFrm.objcon.Close();
}
else if(radiobtnNotrans.Checked==true)
{
string add = "INSERT INTO book_tbl (" + "bname," + "bauthor," + "pid," + "isbn," + "catid," + "byear," + "bcount," + "blanguage" + ")VALUES('" + txtBname.Text + "','" + txtauthor.Text + "','" + Int32.Parse(cbPub.SelectedValue.ToString()) + "','" + txtIsbn.Text + "','" + Int32.Parse(cbCat.SelectedValue.ToString()) + "','" + txtYear.Text + "','" + txtCount.Text + "','" + f + "')";
catNewFrm.objcon.Open();
SqlCommand cmd = new SqlCommand(add, catNewFrm.objcon);
cmd.ExecuteNonQuery();
if (cmd.ExecuteNonQuery() == 1)
{
MessageBox.Show("درج اطلاعات با موفقیت انجام گردید");
cmd.Parameters.Clear();
}
else
{
MessageBox.Show("خطا");
}

catNewFrm.ds.Clear();
catNewFrm.da.Fill(catNewFrm.ds);
catNewFrm.objcon.Close();
}
else if (radioBtnEnglish.Checked == true)
{
string add = "INSERT INTO book_tbl (" + "bname," + "bauthor," + "pid," + "isbn," + "catid," + "byear," + "bcount," + "blanguage" + ")VALUES('" + txtBname.Text + "','" + txtauthor.Text + "','" + Int32.Parse(cbPub.SelectedValue.ToString()) + "','" + txtIsbn.Text + "','" + Int32.Parse(cbCat.SelectedValue.ToString()) + "','" + txtYear.Text + "','" + txtCount.Text + "','" + en + "')";
catNewFrm.objcon.Open();
SqlCommand cmd = new SqlCommand(add, catNewFrm.objcon);
cmd.ExecuteNonQuery();
if (cmd.ExecuteNonQuery() == 1)
{
MessageBox.Show("درج اطلاعات با موفقیت انجام گردید");
cmd.Parameters.Clear();
}
else
{
MessageBox.Show("خطا");
}

catNewFrm.ds.Clear();
catNewFrm.da.Fill(catNewFrm.ds);
catNewFrm.objcon.Close();

Yanehsar
سه شنبه 21 مرداد 1393, 21:01 عصر
با سلام
خطای شما در این خط هستش

cmd.ExecuteNonQuery();
if (cmd.ExecuteNonQuery() == 1)



همون IF کافیه

mohammadreza.najafipour
سه شنبه 21 مرداد 1393, 21:05 عصر
سلام دوست عزیز :لبخندساده:
مشکل از این قسمت هستش:
cmd.ExecuteNonQuery();
if(cmd.ExecuteNonQuery() == 1)
با اجرای خط اول یکبار Insert رو انجام میدی، بعد دوباره با اجرای خط دوم دوباره Insert رو انجام میدی که باعث میشه دو بار اطلاعات رو درج کنی.
خط اول رو باید حذف کنی. با اجرا کردن if دستور Insert اجرا میشه و اگه موفقیت آمیز باشه پیغام "درج ..." نمایش داده میشه.
موفق باشی :لبخندساده:

danialafshari
چهارشنبه 22 مرداد 1393, 13:39 عصر
با سلام
یکی از دلایلی که جواب های بعدیتون رو نمیگیرید اینه که هر تاپیک مخصوص یک سواله الان عنوان تاپیک شما با سوالات جدید شما مغایرت داره
نمونه برنامه Select در سایت به وفور یافت میشه می تونید یکی دریافت کنید و مطابق با اون عمل کنید
کد نویسیتون صحیح نیست
اون همه خط کد نیاز نیست! یک متد بنویسید و فقط CommandText یا همون کوئری رو تغییر بدید
قفل شد، قوانین رو مطالعه فرمائید