PDA

View Full Version : سوال: وارد نکردن اطلاعات تکراری در data Grid View



saeedhushmand
یک شنبه 01 آبان 1390, 01:02 صبح
چه کار کنم که وقتی اطلاعاتی در یک textbox وارد می شه وقتی دکمه ثبت اطلاعات زده شد که اطلاعات وارد دیتابیس بشه اگه اطلاعات تکراری بود یک پیغام ظاهر بشه و اطلاعات رو وارد دیتابیس نشه بکنی
متشکرم ...

nilmil_nil
دوشنبه 02 آبان 1390, 17:06 عصر
سلام دوست عزیز
شما میتونی قبل از Insert توی دیتا بیس
یه Select بزنی و سرج کنی که ایا اطلاعاتی که در textbox هست مثلا نام توی جدول دیتا بیس هست یا نه
اگه نبود insert انجام بشه وگرنه ...

saeedhushmand
دوشنبه 02 آبان 1390, 19:27 عصر
این فرمول insert لطفا اگه می تونی کدش برام بنویس


private void button2_Click(object sender, EventArgs e)
{
;(docterTableAdapter.InsertQuery(textBox1.Text, textBox2.Text, comboBox1.Text, textBox5.Text, textBox7.Text, textBox10.Text, textBox8.Text, textBox9.Text 
 
 
}

Mahmoud Zaad
دوشنبه 02 آبان 1390, 20:20 عصر
سلام متد زیر رو بنویس(select رو تغییر بده) بعد این متد برای کد از نوع int هست حالا اگه اطلاعات تکست باکس string باشه به جای int64 بنویس string بعد قبل از اینکه insert کنی این متد رو فراخوانی کن.
private bool codepExists(Int64 codepro)
{
OleDbCommand com1 = new OleDbCommand();
com1.Connection = con;
com1.CommandText = "SELECT codep FROM sarbarg WHERE codep= '" + codepro + "'";
con.Open();
OleDbDataReader dr = com1.ExecuteReader();
if (dr.Read())
{
if (dr.HasRows == true)
{
con.Close();
return true;
}
}
con.Close();
dr.Close();
return false;
}

مثال:
if (Exists(Convert.ToInt64(textBoxX1.Text)) == true)
{
MessageBox.Show(" این کد قبلا ثبت شده است");
}
else
{
//insert
}

ali_habibi1384
سه شنبه 03 آبان 1390, 02:18 صبح
بابا بنده خدا رو چرا اينقد پيچوندي لازم نيست بيخود به ديتا بيس وصل بشه.شما اطلاعاتت رو كه توي ديتا تيبلت داري ديگه حالا فقط كافيه كه اونو فيلتر كني. فرضا اگه اطلاعاتت توي dt ريختهباشي به صورت زير مي نويسي:


DataTable dt = new DataTable();
.
.
.
.
.
dt.DefaultView.RowFilter = ("نام فيلد = '"+text1.text+"'");
if (dt.DefaultView.Count != 0)
{
MessageBox.Show("كد تكراريست");
return;
}
.
.
.
.