PDA

View Full Version : نحوی جلو گیری از درج اطلاعات تکراری ؟



sajadcg
پنج شنبه 15 دی 1390, 00:04 صبح
سلام.
من یه برنامه حسابداری خدمات کامپیوتری دارم می نویسم .یه مشکلی که برام پیش آمده اینه که چطور باید از درج اطلاعات تکراری جلوگیری کنم؟؟؟
طوری که بعد چک کردن 2 فیلد از بانک برنامه بفهمه که این اطلاعات تکرای هست!!!

فقط خواهشا دستورات را کامل بنویسید و چون برنامه ام را استفاده از linq نوشتم ، اگه روش linq را هم بلد هستید به روش linq هم بگید.
لطفا کمک کنید.:قلب::قلب::قلب::قلب:

عکس از محیط برنامه:

gilas1368
پنج شنبه 15 دی 1390, 00:12 صبح
کافیه یه Select کنین اینطوری:

select * from tablename where fieldname="+مقدار مورد نظر+" and fieldname="+مقدار موردنظر+"
اگه چنین رکوردی وجود داشت پیغام بده در غیر این صورت اونو Insert کنه

arefba
پنج شنبه 15 دی 1390, 01:41 صبح
سلام سجاد جان
بیا از این به بعد به مشکلی بر میخوریم اول فکر کنیم از طریق دیتا بیس رفعش کنیم بعد بریم سراغ کد نویسی
خوب این مشکل
قانونی تو دیتا بیس هست که میگه اگه نام کالا رو در جدولش کلید اصلی کنی از تکرارش ممنوع میشه و نمیزاره درج کنی
اینکار رو بکن و دستور اضافت رو توی تری کش بزار
آی لاو یو پسر
بابای

sajadcg
پنج شنبه 15 دی 1390, 12:12 عصر
کافیه یه Select کنین اینطوری:

select * from tablename where fieldname="+مقدار مورد نظر+" and fieldname="+مقدار موردنظر+"
اگه چنین رکوردی وجود داشت پیغام بده در غیر این صورت اونو Insert کنه
باید درجش کنم توی یک رید و از اونجا چکش کنم؟؟؟؟یا اینکه با یه دستور if میشه حلش کرد؟؟؟
با linq چوریه؟؟
لطفا راه حل را بیشتر توضیح بدید.
بازم مرسی.


سلام سجاد جان
بیا از این به بعد به مشکلی بر میخوریم اول فکر کنیم از طریق دیتا بیس رفعش کنیم بعد بریم سراغ کد نویسی
خوب این مشکل
قانونی تو دیتا بیس هست که میگه اگه نام کالا رو در جدولش کلید اصلی کنی از تکرارش ممنوع میشه و نمیزاره درج کنی
اینکار رو بکن و دستور اضافت رو توی تری کش بزار
آی لاو یو پسر
بابای

دوست گرامی همانطور که در بالا گفتم من باید 2 رکورد را چک کنم . اگه شما روشی بلد هستید که بشه 2 رکورد به بالا را کلید اصلی گذاشت بگید تا ما هم استفاده کنیم.:قلب:

gilas1368
پنج شنبه 15 دی 1390, 12:23 عصر
با یه if کارت راه میوفته

sajadcg
پنج شنبه 15 دی 1390, 15:53 عصر
چطوری این شرط را بزارم؟؟؟؟

لطفا دستورات if را برام بزارید:قلب:

gilas1368
پنج شنبه 15 دی 1390, 18:04 عصر
شما باید یه datatable بزاری اینطوری:

sqlconnection con=new sqlconnection("آدرس پایگاه");
sqlcommand com=new sql command("دستور SQL ",con);
sqldataadapter da=new sqldataadapter(com);
datatable dt=new datatable();
con.open();
da.fill(dt);
if(dt.roes.count>0)
{
//یعنی رکورد وجود داره و پیغام مناسب نمایش داده میشه
}
else
{
sqlcommand com1=new sql command("دستور Insert کردن اطلاعات",con);
sqldataadapter da1=new sqldataadapte(com1);
datatable dt1=new datatable();
da1.fill(dt1);
datagridveiw.datasource=dt1;
con.close();
}
اگه موردی بود PM بدید

momimomi
دوشنبه 05 فروردین 1392, 22:04 عصر
sqlcommand com=new sql command("دستور SQL ",con);

لطفا در مورد این دستور توضیح بیشتری درج بفرمایید:
آیا از select استفاده کنه (در صورت وجود رکوردهای زیاد زمانبر بوده و سرعت اجرای برنامه را کند می کند)
اگر از exists , لطفا توضیح بدین (به علت مبتدی بودن بنده)
با تشکر