PDA

View Full Version : جلوگیری ار ورود اطلاعات تکراری در دیتابیس



mehdi4467
سه شنبه 31 فروردین 1389, 21:02 عصر
سلام
چطوری می شه هنگام ورود دیتا چک کرد که آیا این داده قبلا در دیتا بیس بوده با نه؟ دیتا بیس هم اکسس هست.

s.khoshfekran
سه شنبه 31 فروردین 1389, 21:58 عصر
فیلد مورد نظر رو unique انتخاب کن و از Try& catch اونو handle کن
یا میتونی یه Select رو جدولت بزنی!

mehdi4467
سه شنبه 31 فروردین 1389, 22:20 عصر
سلام
در مورد اول منظورتون گزینه Indexed است؟ که احتمالا باید روی Yes(No Duplicates بزارم؟
در مورد دوم یعنی select یک مثال بزنی؟

با تشکر

behnam25214
سه شنبه 31 فروردین 1389, 22:23 عصر
خوب میتونی قبل از اضافه کردن یک بار جستجو کنی اگه تکراری نبود اضافه کنه.

mohammad_2039
چهارشنبه 01 اردیبهشت 1389, 08:03 صبح
فرض کن یه جدول داری که یکی از فیلد هاش name باشه. میخوای نام Ali تکراری وارد نشه. اول میگی



"select name from tbl_user where name='"+textBox1.text+"'",sqlconection1;


بعد نتیجه این جستجو رو مثلا میریزی تو یه متغییر استرینگ. قبل از insert کردن با یه دستور Ifچک میکنی که این متغییر خالی یا نه ؟ اگه خالی نبود یعنی یه Ali پیدا کرده:لبخند: و اگه خالی بود یعنی داده ورودی تکراری نیست و میتونی Insert کنی:تشویق:.

abi_sarab
چهارشنبه 01 اردیبهشت 1389, 17:50 عصر
می شه بهتر و بیشتر توضیح بدین؟

mohammad kafiyan
چهارشنبه 01 اردیبهشت 1389, 18:01 عصر
دوست عزیز آقای mohammad_2039 که راهنمایی کردن شما را شما اول کار وقتی کاربر فیلد نام را وارد کرد توی textbox و کلید ثبت را زد اول کار مقدار وارد شده با دستوری که دوست عزیز برای شما نوشتند جستجو میشه می بینه آیا وجود داره یا خیر اگر وجود داشت پیغام خطا بده

"select name from tbl_user where name='"+textBox1.text+"'",sqlconection1;
سپس یک datatable یا dataset تعریف می کنی و کوری که به database زده شده اگر اطلاعات وجود داشته باشه از قبلdatatable یا dataset منتقل میکنه با
این شرط چک می کنی
(if (ds.tabels["table"].rows.count==1
messgebox.show("invalid")

mehdi4467
چهارشنبه 01 اردیبهشت 1389, 21:29 عصر
فرض کن یه جدول داری که یکی از فیلد هاش name باشه. میخوای نام Ali تکراری وارد نشه. اول میگی



"select name from tbl_user where name='"+textBox1.text+"'",sqlconection1;



بعد نتیجه این جستجو رو مثلا میریزی تو یه متغییر استرینگ. قبل از insert کردن با یه دستور Ifچک میکنی که این متغییر خالی یا نه ؟ اگه خالی نبود یعنی یه Ali پیدا کرده:لبخند: و اگه خالی بود یعنی داده ورودی تکراری نیست و میتونی Insert کنی:تشویق:.


سلام
من اینطوری نوشتم ولی جواب نمیده.


string u = "select colid from sarfasl where colid=" + Convert.ToInt32(textBox1.Text);
if (u != "")
MessageBox.Show("is");
else
MessageBox.Show("is not");

s.khoshfekran
چهارشنبه 01 اردیبهشت 1389, 21:46 عصر
خوب وقتی دستور SELECT رو نوشتی Execute نکردی؟

s.khoshfekran
چهارشنبه 01 اردیبهشت 1389, 21:55 عصر
string CommandString = "select colid from sarfasl where colid=" + int.Parse(textBox1.text);
SqlConnection conn = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(CommandString, conn);
DataSet ds = new DataSet();
conn.Open();
string x = (string)cmd.ExecuteScalar();
conn.Close();
MessageBox.Show(x);