دادن پیام در سی شارپ هنگام تکراری بودن داده در دیتابیس - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۱۰۴ نفر آنلاین
۱ عضو و ۱۰۳ مهمان در سایت حاضرند

دادن پیام در سی شارپ هنگام تکراری بودن داده در دیتابیس

+1 امتیاز
829 بازدید

سلام دوستان و اساتید. 
من با استفاده از entity به بانک وصل می شم و جداول رو استفاده می کنم. از دوستور if not exsist هم برای ذخیره نشدن داده تکراری در sql استفاده می کنم.
اما مشکل اینحاست که نمی دونم چطوری باید وقتی داده تکراریه و ثبت نشد در C#‎ یک پیام به کاربر مبدم.

ممنون میشم کد و توضیح رو برام بذاریم.



موفق باشی

سوال شده اسفند 21, 1392  بوسیله ی rahgozar (امتیاز 324)   2 8 33

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام.

شما قبل از اینکه اقدام به درج رکورد کنید، ابتدا چک کنید که آیا اون رکورد ذخیره شده یا نه. اگر نشده بود که رکورد جدید رو ثبت کنید و اگر هم شده بود که باید به کاربر پیغام مناسب رو نمایش بدید. کد زیر این کار رو برای شما انجام میده :

DBStudentEntities MyDB = new DBStudentEntities();
var q = MyDB.Student.where(p => p.StdID == 200);
if( q.Count() == 0)
  {
     // دستورات درج
  }
else
  {
      MessageBox.Show("این شماره دانشجویی قبلا ثبت شده است");
  }

 

پاسخ داده شده اسفند 21, 1392 بوسیله ی veniz2008 (امتیاز 2,101)   1 5 21
یک سوال  دیگه واسم پیش اومد شرمنده.
از این روش هایی که شما نام بردین کدوم بهتر و بهینه تر هستنند؟
ُسلام لطفا داخل پاسخ ها  سوال نپرسین از دیدگاه استفاده کنین . و این که هر سوالتون رو بصورت مجزا  داخل یک تاپیک جداگانه  بپرسید  . ممنون .
آشنایی با linq برای کار کردن با ef خیلی به دردتون خواهد خورد. ولی تمرکزتون رو بر روی ef بذارید.
تا جایی که من مطالعه کردم و خبر دارم اینه که تفاوتی از لحاظ سرعت اجرای کوئری مطرح نیست. ولی نکته ای که وجود داره اینه که query syntax از لحاظ فهم و درک کوئری، ساده تر و روان تر هست ولی نکته ای که وجود داره اینه که همه کوئری ها رو نمیشه با query syntax نوشت (گرچه تعداد مواردی رو که نمیشه نوشت خیلی کمه) و همچنین اینکه در نهایت هر مدلی که کوئری رو بنویسید، تبدیل به Method syntax خواهد شد و بعد اجرا میشه (هر چند اگر در ظاهر شما query syntax نوشته باشید).
...