PDA

View Full Version : تعیین تکراری بودن عدد



sogoli
دوشنبه 29 شهریور 1389, 11:50 صبح
سلام
من یک دیتابیس اکسس دارم
که دارای دوفیلد هست : id , number
در یک فرم یک فیلد به نام textBox1 دارم .حال می خواهم بعد از اینکه عددی را داخل همین فیلد تایپ کردم ،باکلیک روی دکمه button1 به من اعلام کند که این عدد تکراری هست یا خیر.(براساس فیلد number)

ممنون میشم منو تو حل این مشکل راهنمایی کنید

s.khoshfekran
دوشنبه 29 شهریور 1389, 12:15 عصر
راه های زیادی هستش یکی اینکه میتونی unique key کنی number رو که عدد تکراری وارد نکنه و با try-Catch هندل کنی
یکی اینکه میتونی یه Query بزنی ببینی عدد قبلا وارد شده یا نه !!

sogoli
دوشنبه 29 شهریور 1389, 13:21 عصر
باتشکر از پاسخ شما
ولی از انجاکه من اشنایی کمی با c# دارم ، اگر بتونید کمی بیشتر راهنمایی کنید ممنون میشم

mmd2009
دوشنبه 29 شهریور 1389, 13:47 عصر
با سلام

چون اون دوستمون اف بود من جوابتون رو میدم

ابتدا تو بانکتون فیلد مربوطه رو PK ( کلید اصلی ) کنید سپس به شکل زیر عمل کنید



try
{
// کد درج رو اینجا بذارید
}

catch()
{

}

mmd2009
دوشنبه 29 شهریور 1389, 14:24 عصر
البته کد کاملش رو باید اینطوری می نوشتم

برای اکسس :



try
{
//کد درج
}
catch (OleDbException ex)
{
MessageBox.Show("Error : " + ex.Message.ToString());
}


برای اس کیو ال :



try
{
//کد درج
}
catch (SqlException ex)
{
MessageBox.Show("Error : " + ex.Message.ToString());
}


اینم روش ساده که برای هر چیزی استفاده میشه :



try
{
//کد درج
}
catch (Exception ex)
{
MessageBox.Show("Error : " + ex.Message.ToString());
}

sogoli
دوشنبه 29 شهریور 1389, 15:04 عصر
شرمنده می تونید کدش رو کامل بزارید....:لبخندساده:

mmd2009
دوشنبه 29 شهریور 1389, 18:06 عصر
ببخشید کدوم کد رو کامل بذارم.

الان همش کامله و فقط کافیه کد درج رو بذارید بین try اگر خواستید بگید تا یک نمونه برنامه براتون درست بکنم و بفرستم

موفق باشید

sogoli
سه شنبه 30 شهریور 1389, 08:55 صبح
ببخشید کدوم کد رو کامل بذارم.

الان همش کامله و فقط کافیه کد درج رو بذارید بین try اگر خواستید بگید تا یک نمونه برنامه براتون درست بکنم و بفرستم

موفق باشید

دقیقا منظورم کد داخل try هست
خیلی ممنون

mmd2009
یک شنبه 04 مهر 1389, 18:07 عصر
ببینید برنامتونو بفرستید برای من تا درستش بکنم بعدش از روی اون ببینیدش و متوجه میشید اونطوری

sogoli
پنج شنبه 08 مهر 1389, 18:09 عصر
private void button2_Click(object sender, EventArgs e)
{

bool pub = false;
int price, pishpardakht;
string title ;
title = textBox16.Text;

if (isEmptyForm() == false)
{

if (textBox1.Text != "0")
{

this.tableTableAdapter.Insert(Convert.ToInt32(text Box1.Text), title, work, cat, sub_cat, manager, add, tel, fax, mob, fac_add, fac_add, zipcode, state, email, site, comment, adv, author, editor, img, ediDate, pub, price, pishpardakht, agahi_type, editDate2);
MessageBox.Show(" رکورد جدید اضافه شد");
bindingNavigatorAddNewItem_Click(sender, e);


}

}
else
{
MessageBox.Show("لطفا فرم را پر نمایید");
}

}

Sk1900n3
پنج شنبه 08 مهر 1389, 18:47 عصر
دوست عزیز با سلام

در برنامه های متوسط / حرفه ای برای اینکه بتوان فهمید فیلد تکراری هست یا خیر یک Query نوشته میشده که به این صورت میباشد.

من این کلاسو واستون میزارم که میتونید ازش استفاده کنید (به زبان سی شارپ)
و نحوه ی استفاده
clsConnect نام کلاس که در تاپیک ضمیمه شده است


string rs=clsConnect.clsInstruction("count([id])", "tb", "condition");
if(rs=="0")
{mesgbox.show("Unique")}
else
{mesgbox.show("Not Unique")}
Ok

sogoli
سه شنبه 13 مهر 1389, 13:18 عصر
باتشکر از شما که راهنمایی کردید
ولی از انجاییکه بنده تازه به دنیای سی شارپ وارد شدم ، نتونستم از راه حل شما استفاده کنم.لذا برنامه رو پیوست کردم که اگر لطفا بفرمائید تا در فرم مربوطه یک دکمه طراحی کنید که صرفا با کلیک بروی ان پنجره ایی باز شود و اعلام کند که ایا عدد وارد شده تکراری هست یا خیر.

باتشکر

http://rapidshare.com/files/423225873/saeedi.zip