PDA

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



Yanehsar
جمعه 16 خرداد 1393, 19:12 عصر
سلام
من تازه دارم با LINQ برنامه می نویسم یه سوال دارم از کجا متوجه بشم وقتی که با دیتابیس داریم کار انجام میدم عملیات ما با موافقیت انجام شده ؟
در روش ADO با استفاده از کد

if (cmd.ExecuteNonQuery() == 1)
{
}



می تونستیم متوجه بشیم و کار انجام بدیم .اما تو لینک از کجا متوجه بشیم کارمون درست انجام شده ؟مثلا این کد اینسرت :

objBLL.insertT_karaneh(Convert.ToInt32(cbPardakhat .SelectedValue),Convert.ToInt32( cbDr.SelectedValue),Convert.ToInt32(cbKhadamat.Sel ectedValue), txtkaraneh.Text, labMaliyat.Text, labKhales.Text, labAlalhesab.Text);

hadi0x7c7
جمعه 16 خرداد 1393, 20:09 عصر
خب وقتی که شما داری با ORM کار میکنی اصلا کاری به دیتابیس نداری، فقط تنها چیزی که نیاز داری یه Connection String هست و در انتهای هر کوئری لینک saveChanges رو که صدا بزنی اگه مشکلی باشه خطا میده، میتونید با sql profiler هم کوئری sql ی که روی دیتابیس اجرا میشه رو ببینی ولی تا اونجایی که من میدونم چون همه چیز دیگه شده به صورت object ، ویژوال استودیو خیلی کمک میکنه و اگه چیز اشتباهی رو بنویسید خودش خطا می گیره.

---------------------
تا اونجایی که من کار کردم شما مثلا یه شی از کارنامه میسازی و بعد این رو توی DbSet<Karname> اضافه میکنی با متد Add بعد saveChanges رو صدا میزنی. البته این چیزی که من میگم برای مدل code first هستش

این لینک (http://msdn.microsoft.com/en-us/library/bb336792%28v=vs.110%29.aspx)هم خوبه یه نگاه بیندازید

Yanehsar
جمعه 16 خرداد 1393, 21:39 عصر
مشکل اصلی من اینه که کاربر اطلاعاتی رو وارد می کنه و ثبت رو میزنه حالا می خوام بهش اعلام کنم که کارش درست بوده ، و یه سری کار دیگه انجام بدم مثلا خالی کردن تکس باکس ها و ...
الان می تونم اینکار رو انجام بدم و این کار ها رو انجام بدم اما اطمینان دارم ...


------------
این یه نمونه از کد هستش که یکی از دوستان تو یکی از تایپک ها گذاشته

var db = new tahvilDataContext();//ling to SQL new
var query = db.users.Where(c => c.username == this.currentUser.username).Single();
query.password = textBox3.Text;
db.SubmitChanges();

PMessageBox.Show("عملیات ویرایش با موفقیت انجام شد");




طی هر شرایط برنامه به کاربر مسیج میده که عملیات انجام شد در حالی که امکان داره مشکلی پیش اومده باشه اونوقت کاربر از کجا باید بفمهمه ؟ من می خوام کدم تحت کنترل باشه ...
http://barnamenevis.org/showthread.php?455414-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%A7-%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4-%DA%A9%D9%84%D9%85%D9%87-%D8%B9%D8%A8%D9%88%D8%B1-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1

Mahmoud.Afrad
جمعه 16 خرداد 1393, 22:02 عصر
اگر در SubmitChanges خطایی بده کدهای بعدی اجرا نمیشن.
از try...catch استفاده کن.

hadi0x7c7
جمعه 16 خرداد 1393, 22:02 عصر
خب متد single فک کنم اگه رکوردی با این شرایط پیدا نشه یه استنثنا پرتاب میکنه طبق تولتیپ:لبخند: