PDA

View Full Version : زبان مناسب برای کار با دیتابیس و طراحی گزارش



afshin62
جمعه 14 خرداد 1389, 10:34 صبح
با سلام خدمت اساتید گرامی؛

من یه برنامه کامل دیتابیس و گزارش گیری کامل با کریستال ریپورت نوشتم. ولی اون برنامه میشه گفت خیلی نیاز به دیتابیس پیچیده نداشت پس من با اکسس و ویبی 6 نوشتم.

ولی الان می خوام برای پایان نامه دکترا خودم یه سیستم مدیریتی با دیتابیس کامل و گزارشات پیچیده درست کنم. یکسری سئوال دارم:

1) به نظر خودم ویبی 6 گزینه خوبی برای برنامه نویسی پایگاه داه نبود و به مشکلات زیادی برخوردم. حالا میخوام اونو عوض کنم. چه زبونی رو انتخاب کنم VB.net یا C#. البته با توجه به این که کار من بیشتر خوندن داده ها از اکسل و پایگاه داده و تحلیل آنها در برنامه اصلی و تولید گزارشات پیچیده است.
2) وقتی از اکسس برای پروژه قبلی استفاده کردم. به مشکلات زیادی برخوردم مخصوصاً برای شبکه کردن.به نظرتون MYSQL گزینه خوبیه برای حجم بالایی از داده ها.
3) همچنین نحوه خواندن این پایگاه بوسیله برنامه اصلی( VB.net یا C#) کدوم راحت تره و کارآیی بالاتری رو میده.

با تشکر از دوستان عزیز.

Mos_Zamani
جمعه 14 خرداد 1389, 11:13 صبح
چون قبلاً با VB6 کار کردی بهتره که با VB.net کار کنی. راحت تر می تونی کد بنویسی.
می تونی از ابزار Dataset، dataadapoter برای ارتباط با بانک اطلاعاتیت استفاده کنی.
برای بانک اطلاعاتی هم می تونی از SQL Server 2005یا 2008 استفاده کنی. چون امکان استفاده از شبکه رو بهت می ده. همچنین می تونی برای گزارش سازی از Report Server استفاده کنی. این ابزار در SQL server 2005 هست و امکانات زیادی داره.

Open-Source
جمعه 14 خرداد 1389, 12:54 عصر
Language: چون با VB کار کردی خیلی راحت میتونی VB.Net رو هم یاد بگیری (C# ,VB.Net از نظر قدرت هیچ فرقی باهم ندارن و انتخاب این دو سلیقه ای هستش [بنده شخصا از Syntax خانواده C بیشتر خوشم میاد] ).

DBMS: میتونی از SQL Server استفاده کنی؛ چون : از خود مایکروسافت هستش - کار باهاش توی دات نت راحته - نمونه کد براش زیاد گیر میاد - اگه اولین DBMS قوی نباشه، دومین هستش.

Report: برای گزارش گیری میتونی از Crystal Report استفاده کنی (میشه باهاش گزارش های ساده تا خیلی حرفه ای هم ساخت).

Rejnev
جمعه 14 خرداد 1389, 13:34 عصر
چند وقتیه که به این نتیجه رسیدم که مشکل اکثر افراد، دسترسی به داده های بانک اطلاعاتیه.
از راه های رسیدن به داده ها در Visual studio میتوان به مواردی مثل زیر نام برد

-استفاده از Dataset در برنامه. (منوی Project->Add new item..->Dataset)
در محیط دیتاست شما میتونید جدول مجازی بسازید، به یک دیتابیس وصل شده و جداول یک بانک رو درون اون قرار بدید. برای هر جدول کوئری های مختلف بسازید، مثلا یک کوئری که تعداد سطر ها رو برمیگردونه، یک کوئری که کل یک جدول رو برمیگردونه، یک کوئری برای درج و ...
موارد فوق با استفاده از ویزارد انجام میشه و بعد از اتمام مثلا یک ویزارد برای درج، VS یک متد درون اون TableAdapter ای که کوئری برای اون ساخته شده میسازه و حتی پارامترهای اون متد و انواع داده ایش رو هم در نظر میگیره.
مزایای دیگه ای هم داره که چون من خودم به شخصه از دیتاست خوشم نمیاد و زیاد برام ملموس نیست و باهاش راحت نیستم و در نتیجه بهش مسلط نیستم نمیتونم بگم. در ضمن کنترل کامل رو روی امور در این روش انتظار نداشته باشید

-استفاده از کد نویسی
فضای نامهای مناسب رو اضافه کرده و بسم الله... شروع به کد نویسی برای کار با دیتا میکنید
کلاسهای بیشمار و مختلفی در دات برای کار با بانک اطلاعاتی وجود داره. برخی برای خوندن/نوشتن و برخی برای نگهداری اطلاعات در حافظه اصلی بکار میرن. مثلا با کلاس SQLCommand و متد های درونش میتونید بخونید و بنویسید و این متد ها خروجی ای که دارن میتونه یک جدول باشه که مثلا با استفاده از DataTable میتونید خروجی متد رو گرفته و روی حافظه ازش نگهداری و باهاش کار کنید و به تک تک سطرها و ستونها دسترسی داشته باشید.
تذکر:روش قبلی هم میتونه همچین خروجیهایی رو به ما بده.
حالا بسته به نیازتون کلاسهاتون رو پیدا کنید و باهاشون کار کنید.

استفاده از روش جدید Linq به هر کجا!
برای Linq به sql مانند دیتاست اما اینبار یک linqToSql به پروژه اضافه کرده، جداول رو بسازید و یا از دیتابیس به محیط Linq اضافه کنید. جداول شما تبدیل به کلاس و توابع و پردازه های شما تبدیل به متد در Linq خواهند شد.
با این کلاسی که از جدول شما ساخته شده میتونید لیستی نامحدود از اشیا ایجاد کنید و با استفاده از زبان Linq که شبیه SQL است، لیستتون رو و یا هر Collection ای رو به راحتی و درون کدهای برنامه تون جستجو و یا هر کاری که دوست دارید رو در نهایت سرعت انجام بدید.
من روش آخر رو پیشنهاد میکنم و برای گزارش گیری هم که هر چیزی میتونید استفاده کنید، مهم تبدیل دیتا به اطلاعاته. چاپش کاری نداره.
قطعا روش های دیگه هم هست که اینا رو من به شخصه میشناسم.

afshin62
جمعه 14 خرداد 1389, 14:33 عصر
با تشکر از پاسخهایتان

من توی ویبی 6 از ADO استفاده میکردم، و واقعاً سرعتش خوب بود و جوابمو می داد. و با کریستال ریپورت گزارشات خیلی دینامیک و پیشرفته رو می ساختم.

حالا می خوام vb.net رو بکار ببرم، و شما گفتید دیتابیسم رو با SQL server کار کنم.
یه سوال میگن SQL server سخت تر از MySQL هست. به جز قدت شبکه دلیلی داره که من بخوام SQL server رو یاد بگیرم نه MY SQL.

من چون وقت زیادی ندارم و با توجه به توصیه شما مبنی بر قدرت بالای هر دو زبان(C# و Vb.net) همون Vb.net رو انتخاب کردم. ولی دیتابیسم و گزارش گیری رو نمی دونم.
من تا حالا با فقط با پایگاه داده اکسس کار کردم. کدوم پایگاه داده برای من راحت تره که باهاش کار کنم.

با تشکر

Mos_Zamani
جمعه 14 خرداد 1389, 16:09 عصر
با تشکر از پاسخهایتان

من توی ویبی 6 از ADO استفاده میکردم، و واقعاً سرعتش خوب بود و جوابمو می داد. و با کریستال ریپورت گزارشات خیلی دینامیک و پیشرفته رو می ساختم.

حالا می خوام vb.net رو بکار ببرم، و شما گفتید دیتابیسم رو با SQL server کار کنم.
یه سوال میگن SQL server سخت تر از MySQL هست. به جز قدت شبکه دلیلی داره که من بخوام SQL server رو یاد بگیرم نه MY SQL.

من چون وقت زیادی ندارم و با توجه به توصیه شما مبنی بر قدرت بالای هر دو زبان(C#‎ و Vb.net) همون Vb.net رو انتخاب کردم. ولی دیتابیسم و گزارش گیری رو نمی دونم.
من تا حالا با فقط با پایگاه داده اکسس کار کردم. کدوم پایگاه داده برای من راحت تره که باهاش کار کنم.

با تشکر
هیچ اجبار یا دلیلی خاصی وجود نداره که با SQL Server کار کنی. ولی چیزی که هست اگه مشکلی داشته باشی افراد زیادی هستن که کمکت کنن.
SQL Server 2005 یه قابلیت به عنوان Reporting Service داره که می تونه گزارشات و ارسال و نمایش اطلاعات رو خودش مدیریت کنه. همینطور می تونی که گزارشاتت رو هم با هاش درست کنی.
یه امتحانی بکن.

afshin62
جمعه 14 خرداد 1389, 17:25 عصر
با تشکر

خوب من اگه بخوام شروع کنم کسی می تونه کتابهایی رو برای SQL Server 2005 و Vb.net معرفی کنه. اگه انگلیسی باشه که خیلی بهتره.

نظرتون درباره شروع با Vb 2010 چیه. می تونم مستقیم از آخرین Visual Studio شروع کنم.

متشکرم