PDA

View Full Version : ساخت برنامه گزارش ساز



bee_sanandaj
جمعه 20 اسفند 1389, 09:26 صبح
اون روز توی آموزشکده بودم که با مدیر گروهمون حرف میزدم چون جلسه توجیهی پروژه و کاراموزی بود
آخه این ترم هم پروژه دارم هم کاراموزی با این استاد که مدیرگروهمونه
بهم گفت اگه یک برنامه بنویسی که فقط بانک اطلاعاتی رو بگیره بعدش بتونه ازش گزارش بگیره
هم پروژه بهت 20 میدم هم کاراموزی
منظورشو اینطور گرفتم که برنامه من باید طوری باشه که برای هر بانک اطلاعاتی کار کنه
گفت عنوان این برنامه گزارش ساز هستش
کسی از دوستان میتونه راهنماییم کنه؟
اصلا این پروژه در حدی هست که من بتونم انجام بدم؟یا خیلی سخته

exlord
جمعه 20 اسفند 1389, 13:38 عصر
از اونجایی که استادت میدونست احتمال اینکه بتونی اینو انجام بدی خیلی کمه واسه همین گفته " هم پروژه بهت 20 میدم هم کاراموزی " :قهقهه:
کار ساده ای نیست ... من با اینکه تجربه ی قبلی داشتم 1 ماه طول کشید ....


ساده ترین نوعش اینکه کاربر query رو بنویسه و شما نتیجه ی این query رو ببری تو یه گزارش ... هستن کد های آماده که از DataGridView مستقیما گزارش میگیرن ...

روش کاربر پسند خوب خیلی سخت تره ...
شما به چند چیز احتیاج داری ....
1 - لیست جدول ها و فیلد ها که باید به کاربر نشون بدی .... من از Treeview استفاده کردم
2 - یه محیط design که کاربر بتونه محل فیلد هارو تو صفحه مشخص کنه ...
3 - بعد باید بر طبق این فیلد های انتخاب شده query تو بسازی و ....

mehrdad372
جمعه 20 اسفند 1389, 18:45 عصر
میشه یه ذره بیشتر راهنمایی کنی؟
منظورت از تجربه قبلی چیه؟

exlord
جمعه 20 اسفند 1389, 20:18 عصر
میشه یه ذره بیشتر راهنمایی کنی؟

کدوم قسمتش ؟


منظورت از تجربه قبلی چیه؟
قبلا تو یه شرکتی بودم که داشتن یه Report Generator مینوشتن .... با ساختار کلیش آشنا بودم ....

mehrdad372
شنبه 21 اسفند 1389, 22:12 عصر
منظورت از یه محیط design که کاربر بتونه محل فیلد هارو تو صفحه مشخص کنه چیه؟

m.soleimani
شنبه 21 اسفند 1389, 23:50 عصر
اون روز توی آموزشکده بودم که با مدیر گروهمون حرف میزدم چون جلسه توجیهی پروژه و کاراموزی بود
آخه این ترم هم پروژه دارم هم کاراموزی با این استاد که مدیرگروهمونه
بهم گفت اگه یک برنامه بنویسی که فقط بانک اطلاعاتی رو بگیره بعدش بتونه ازش گزارش بگیره
هم پروژه بهت 20 میدم هم کاراموزی
منظورشو اینطور گرفتم که برنامه من باید طوری باشه که برای هر بانک اطلاعاتی کار کنه
گفت عنوان این برنامه گزارش ساز هستش
کسی از دوستان میتونه راهنماییم کنه؟
اصلا این پروژه در حدی هست که من بتونم انجام بدم؟یا خیلی سخته

شما برو به استادت بگو اگر یه همچین چیزی رو بلد بودی بنویسی که نمیومدی توی آموزشگاه درس بدی الان شرکتت داشت کلی براش تبلیغات می‌کرد. زیاد دیدم از این دوستان که کدهاشون رو به اسم امتحان پایان دوره و نمره می‌دن دست کارآموزها و خیال خودشون رو راحت می‌کنن اکثرن وقت بزارن خودشون خیلی خوب می‌تونن انجامش بدن ولی با استفاده از نمونه ساده کارآموز به سرعت به نتیجه دل‌خواه خودشون می‌رسن موفق باشید./

علیرضا حسن زاده
یک شنبه 22 اسفند 1389, 08:03 صبح
شما اگه شروع کنی و نرم افزار های گزارش گیری دیگه مثل Crystal Reprotو ... هم آشنایی داشته باشی کم کم می فهمی که چیکار باید بکنی و چه مشکلاتی ممکنه تو پیاده سازی ایدهایی که توذهنت هست بوجود بیاد
پس تا شروع نکنی با این بحث ها به جایی نمیرسی
شروع کن هرجا مشکلی داشتی در حد توان کمک می کنیم

JaguarXF
یک شنبه 22 اسفند 1389, 08:51 صبح
دو تا برنامست:
یکی رو میتونی LayOut Builder اسم بذاری. این قسمت جایی هست که کاربر گزارشش رو طراحی میکنه و ذخیره میکنه.
دیگری رو میتونی Document Report مثلا اسم بگذاری. این در زمان اجرا نشون داده میشه. فیلدهای اون گزارش رو با دیتا پر میکنه و نمایش میده.

برای مقصودی که من داشتم از .NET Text Editor استفاده کردم. انتخاب خوبی میتونه باشه.
http://www.textcontrol.com/en_US/sites/dotnet-text-editor/

danial82
پنج شنبه 14 مهر 1390, 10:46 صبح
فکر میکنم برای شروع اگه 3تا سوال رو جواب داد بشه گفت باقیش دیگه سروکله زدن با کده (البته برای ساخت یک کوئری ساز)
1- بدست آوردن نام جداول
2- بدست آوردن نام فیلدهای هر جدول و نوع فیلد
3- بدست آوردن فیلد مشترک جداول

danial82
پنج شنبه 14 مهر 1390, 11:35 صبح
بدست آوردن نام جداول :

SELECT * FROM sysobjects
where sysstat=3
order by 1

danial82
پنج شنبه 14 مهر 1390, 11:54 صبح
بدست آوردن نام فیلدهای هر جدول

SELECT [name] AS [Column name]
FROM syscolumns
WHERE id = (SELECT id
FROM sysobjects
WHERE type = 'U'
AND [NAME] = 'tblname')

یا


SELECT NAME FROM sys.syscolumns s
WHERE id=OBJECT_ID('Sales')

یا

SELECT * FROM information_schema.[COLUMNS] c
WHERE c.TABLE_NAME='Sales'

danial82
پنج شنبه 14 مهر 1390, 12:34 عصر
بدست آوردن نام فیلدهای هر جدول و نوع فیلد

SELECT
COLUMN_NAME,data_type,character_maximum_length from information_schema.columns WHERE TABLE_NAME = ' نام جدول'

danial82
پنج شنبه 14 مهر 1390, 12:49 عصر
SELECT TABLE_NAME,COLUMN_NAME,data_type,character_maximum _length from information_schema.columns

saeed_sho
یک شنبه 29 آبان 1390, 17:28 عصر
میشه بگی منظورت از sysobject و sysstat چیه؟

zarrinnegar
یک شنبه 29 آبان 1390, 23:18 عصر
میشه بگی منظورت از sysobject و sysstat چیه؟

زمانی که توی sql دیتابیس میسازی تمام اشیاء و آبجکتها داخل یک سری جدول های خود sql ذخیره میشن و میشه از طریق view های خود سیستم بهشون دسرسی پیدا کرد که مثلا چند تا جدول کاربر ساخته هر جدول شامل چه فیلد هایی هست و نوع هر کدوم چیه حتی log تغییرات توی ساختار دیتابیس رو هم نگهداری میکنه
این 2 تا اسم هم از اون اسم هایی که میشه باهاش به اطلاعات مورد نظر دسترسی پیدا کرد

ehsangfl
دوشنبه 03 بهمن 1390, 12:27 عصر
با درود
دوستان من فکر می کنم برای بدست آوردن نام جداول و فیلدهی و غیره بهتره به جای استفاده از راه سنتی که از جدول sysobjects یک Select بنویسیم، از راه حل خود .net که استفاده از شی Server در فضای نام SMO است استفاده کنیم. این شی می تواند تمامی دیتابیسها و جداول هر کدام و ارتباطاتشان و فیلدها و نوع داده هر کدام را به راحتی به ما بدهد.
شاد و پیروز باشید.

parand60
یک شنبه 18 تیر 1391, 20:58 عصر
ببخشید میشه بیشتر توضیح بدین
ممنون


با درود
دوستان من فکر می کنم برای بدست آوردن نام جداول و فیلدهی و غیره بهتره به جای استفاده از راه سنتی که از جدول sysobjects یک Select بنویسیم، از راه حل خود .net که استفاده از شی Server در فضای نام SMO است استفاده کنیم. این شی می تواند تمامی دیتابیسها و جداول هر کدام و ارتباطاتشان و فیلدها و نوع داده هر کدام را به راحتی به ما بدهد.
شاد و پیروز باشید.

azam2005
دوشنبه 09 اردیبهشت 1392, 16:52 عصر
دو تا برنامست:
یکی رو میتونی LayOut Builder اسم بذاری. این قسمت جایی هست که کاربر گزارشش رو طراحی میکنه و ذخیره میکنه.
دیگری رو میتونی Document Report مثلا اسم بگذاری. این در زمان اجرا نشون داده میشه. فیلدهای اون گزارش رو با دیتا پر میکنه و نمایش میده.

برای مقصودی که من داشتم از .NET Text Editor استفاده کردم. انتخاب خوبی میتونه باشه.
http://www.textcontrol.com/en_US/sites/dotnet-text-editor/

لطفا کمی بیشتر راجع به این کنترل توضیح دهید من دانلود کردم اما نتونستم باهاش کار کنم بعد از نصب کجا نصب می شه؟

azam2005
سه شنبه 10 اردیبهشت 1392, 08:58 صبح
در انتها بعد از انتخاب جداول و فیلدها چطور GroupBy ,Filtering توابع Sum ,Count ,... , و شرط بخش Where و ... را بسازیم ؟

ali reza mansoori 2
سه شنبه 10 اردیبهشت 1392, 11:00 صبح
اصلا ارزش نداره برای پروژه و کارآموزی همچین پروژه سنگینی انجام بدی
بهترین کار اینه که از برنامه های آماده استفاده کنی من کامپوننت ها DevExpress رو پیشنهاد میکنم
یه محیط طراحی گزراش داره یه دستی به سر و روش بکش تحویل بده:لبخند: