PDA

View Full Version : جلوگیری از ثبت اطلاعات تکراری با روش Linq



ghazal_mohammady
یک شنبه 26 مرداد 1393, 10:01 صبح
عرض سلام و ادب
چطور میتونم با استفاده از روش لینک از ثبت اطلاعات تکراری در بانکم جلوگیری کنم؟ باتوجه به اینکه یه میخوام از ثبت اطلاعات تکراری بر اساس یه فیلدی که کلید نیست جلوگیری کنم.
باتشکر

DavoodJafary
یک شنبه 26 مرداد 1393, 10:42 صبح
سلام دوست عزیز
اگه منظورت رو فهمیده باشم ، می خواهی هنگام وارد کردن اطلاعات، اگر اطلاعات تکراری بود از وارد شدن جلوگیر کنی درسته؟
به طور مثال اگر بخواهی از وارد کردن ایمیل های تکراری جلوگیری این کدش هست:
با استفاده از یک CustomEmailValidator می توانی فیلد مورد نظر را چک کنید.



LQdbDataContext db = new LQdbDataContext();
string EmailAddress = args.Value;
var CompareEmail = from Email in db.tblUsers
where Email.UserEmail.Trim() == EmailAddress.Trim()
select Email;
if (CompareEmail.Count() != 0)
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}

ghazal_mohammady
یک شنبه 26 مرداد 1393, 11:38 صبح
بله درسته
ولی میشه یه مثال دیگه بزنین که این کنترل رو استفاده نکرده باشه.

ghazal_mohammady
یک شنبه 26 مرداد 1393, 14:40 عصر
یعنی کسی کمک نمیکنه ؟
یه سوال دیگه این کوئری رو ببینین:


var numcount = from T in Bank.Contracts
where T.NumCont ==_countID
select T;

الان من میخوام اطلاعاتی که شماره قراردادش تو جدول با اونی که کاربر زده یکیه بیاد تو numcount این سلکت درسته ؟
خب حالا من چطور میتونم آی دی این رکورد رو از numcount بگیرم؟
اینطوری هم نوشتم اما جواب نداد

var numcount = from T in Bank.Contracts
where T.NumCont ==_countID
select T.ContractID;
//

ghazal_mohammady
یک شنبه 26 مرداد 1393, 17:30 عصر
واقعا کسی نمیتونه کمک کنه؟ من باید از یه جدول که یه فیلدش مشخصه شماره آی دیشو بدست بیارم، با این کوئری نشد، کسی فکری به ذهنش نمیرسه؟

var numcount = from T in Bank.Contracts
where T.NumCont ==_countID
select T.ContractID;

ghazal_mohammady
یک شنبه 26 مرداد 1393, 20:34 عصر
واقعا هیچکس کمک نمیکنه؟!!!
من نمیخوام این اتفاق بیفته ببینین:
http://uplod.ir/f4ij43bv9e1c/111.jpg.htm
ستون پراپرتی رو ببینید

Ali.hitter
دوشنبه 27 مرداد 1393, 04:19 صبح
من باید از یه جدول که یه فیلدش مشخصه شماره آی دیشو بدست بیارم، با این کوئری نشد، کسی فکری به ذهنش نمیرسه؟
سلام ؛
var query = db.tbl_MyTable.Where(c => c.TheField == "field value");
if(query.Count() != 0) { MessageBox.Show(query.Single().id.ToString()); }

Mahmoud.Afrad
پنج شنبه 30 مرداد 1393, 19:44 عصر
http://barnamenevis.org/showthread.php?454520