PDA

View Full Version : گزارشگیری در سی شارپ



programerinfonet
سه شنبه 09 آبان 1391, 14:41 عصر
سلام دوستان من
به تصویر زیر نگاه کنید و بعد خواهشأ یک راه درست جلوی پام بذارید
94439

همین طور که در تصویر پیداست من میخوام بر اساس عناوینی که تو لیست باکس هست از بانک sql گزارش تهیه کنم
اما :
مثلأ باید برای خرید کالا یک دستور بنویسم از شخصی رو انتخاب کرد برای خرید از اون شخص یک دستور و اگه کالایی رو هم انتخاب کرد خرید اون کالا از یک شخص خاص و ...
من اگه همین طور بخوام کد بنویسم باید کلی کد بزنم
حالا راهی هست که بشه کد هارو خلاصه تر نوشت کمی کوتاه تر بشه
تو خیلی از برنامه ها که این امکانات هست چه طوری کار می کنن
خواهشأ یکی کمکم کنه
ممنون

arefba
سه شنبه 09 آبان 1391, 15:15 عصر
شما خیلی سریع میتونید linq to sql ویا linq to entity رو یاد بگیرید که خیلی تو این برنامه بهتون کمک می کنه

programerinfonet
سه شنبه 09 آبان 1391, 15:50 عصر
با تشکر
ولی میشه یکم بیشتر توضیح بدید
چون من وقت زیادی ندارم باید تا دو روز دیگه برنامه رو بدم بره

Farshid007
سه شنبه 09 آبان 1391, 16:18 عصر
با دستور اس کیو ال هم میشه دیگه
مثلا یه رشته اصلی دست کنی:
SELECT * FROM Table WHERE type="Types"
بعد واسه اونا if بزاری که اگه فعال باشند عبارتی مانند عبارت زیر را به رشته اضافه کنه:
AND Date="1999"

programerinfonet
سه شنبه 09 آبان 1391, 16:21 عصر
یعنی شما میگی من متد های sql رو توی یک رشته قرار بدم بعد متناسب با نیاز ها مقادیر رو به رشته اضافه کنم و بعد ببرم تو command
؟
شدنیه ؟؟

programerinfonet
سه شنبه 09 آبان 1391, 16:45 عصر
یکی کمک کنه
کمک
کسی تا حالا این کارو نکرده ؟
یهنی فقط با دستورات linq میشه کوتاه تر نوشت ؟

sgh_programer
سه شنبه 09 آبان 1391, 17:35 عصر
سلام دوست عزیز
شما باید توی مثلا program.cs یه متغیر ایستا از نوع استرینگ تعریف کنی
public static strint str_CommandText="";
بعد زیر دکمه تهیه گزارش شرط بذار اگه از لیست مثلا گزارش خرید کالا انتخاب شد متغیر به شکل زیر مقداردهی بشه
program.str_CommantText=="Select * From Tbl_Khari_Kala where...0
و همینجور برای بقیه ایتم های لیست
ونهایتا توی فرم گزارش گیری اینجوری بنویس
SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = Program.connctionstring;
SqlCommand cmm = new SqlCommand();
cmm.Connection = cnn;
cmm.CommandType = CommandType.Text;
cmm.CommandText = program.str_CommantText;
.
.
.
.

موفق باشی