PDA

View Full Version : حرفه ای: نرم افزار بسیار مفید و کاربردی DBS



rrasheli
جمعه 07 مهر 1391, 21:59 عصر
سلام به همه دوستای برنامه نویس و خوبم
چند وقت پیش یکی از مشکلات خودم این بود که سخت می شد برام تا کلی کلاس و Store procedure واسه دیتابیس بنویسم. تا اینکه با sp generator آقای کرامتی آشنا شدم و باهاش کار کردم ولی توی این نرم افزار تنها چیزی که به کارم اومد store procedure هاش بود و از اونجایی هم که من چند لایه کار می کنم و نیاز دارم تا کلاس های DAL, BLL پروژه مو خودم به صورت دستی و یکی یکی بنویسم کلی وقت تلف می شد.
یه مشکلی هم که با برنامه آقای کرامتی داشتم این بود که ایشون از یه کلاسی که خودشون واسه اجرای sp ها که متاسفانه من زیاد خوشم نمیاد که dataset و این چیزا تو برنامه ام استفاده کنم.
تصمیم گرفتم خودم این برنامه رو گسترش بدم و کلاس های DAL , BLL رو هم توسط این سیستم بتونم تولید کنم.
با توجه به اینکه برنامه آقای کرامتی مال چند سال پیش هستش ولی از ایده ایشون استفاده کردم.
مشکل دیگه ای که این برنامه داشت حجم زیاد کد بود که سر در گم میشدم.
حالا من این نرم افزار رو نوشتم و خودم هم استفاده می کنم برای اینکه دوستان هم استفاده کنن آپلودش کردم همراه با سورس توی codeplex تا بتونید دانلودش کنید.
دوستان اگه پیشنهاد و یا مشکلی داشتید بفرمائید تا برطرف بشه.
http://dbs.codeplex.com

ali_habibi1384
جمعه 07 مهر 1391, 22:35 عصر
قبل از هر چيز بايد بگم عالي بود فقط چندتا مورد ديگه هم بهش اضافه بشه ديگه تكميل:
1-چرا در كلاسها كلمه Mahan وجد داره بجاي نام ديتابيس؟
2-در نامگذاري كلاسهاتون در ابتداي كلاس نام تيبل تعريف شده و ديگه نياز نيست در نامگذاري توابع داخلي همون كلاس دوباره نام كلاس تكرار بشه توه بفرماييد كه مثلا در كلاس tblfrorosh نام تابع بروز رساني tblForoshUpdateRow هست كه بهتره فقط UpdateRow مثلا باشه اينجوري كاربر وقتي شي كه ايجاد كرده رو ميخواد ازش استفاده ميكنه چشم راحتتر و دست تند تر تابع رو پيدا ميكنه دقت بفرماييد تفاوت دو نمونه زير رو:

refForosh.tblForoshUpdateRow
,
refForosh.UpdateRow

منظورم اينكه وقتي ميخواد از هر تابعي از اون كلاس استفاده كنه نياز نباشه tblForosh رو هر بار بنويسه.
3- در كلاسها تون بجاي اينكه هر بار نوع داده رو بنويسين براي همه از يك نوع string استفاده كنيد تا هر بار كاربر موقع پاس دادن پارامترها مجبور نباشه اونارو كانورت كنه منظورم اينه كه بجاي كد:
public static void tblForoshUpdateRow(int Id, int IdMoshtari, int IdKala, string DateForosh, string TimeForosh, int Number, float Tedad, int PriceForosh, string Details)

اينو بنويسه:
public static void tblForoshUpdateRow(string Id, string IdMoshtari, string IdKala, string DateForosh, string TimeForosh, string Number, string Tedad, string PriceForosh, string Details)

4- با توجه به نوع داده اي كه قراره برگرده از sql توي كلاستون همون نوع رو برگردونيد مثلا در Upadate مقدار Int كه تعداد سطرهاي Upadate شده هست و در SelectAll نوع DataTable رو برگردونيد كه كاربر ميفهمه داره يه جدول برميگردونه.

rrasheli
جمعه 07 مهر 1391, 22:44 عصر
ممنون از لطفتون
در مورد سوال اول فقط به صورت namespace می نویسه که اسم پروژه DAL , BLL هست. وجود ماهان هم به خاطر اسمیه که من انتخاب کردم برای پروژه هام. می تونید یه چیز دیگه بنویسید.
2- پیشنهاد خوبی هست سعی می کنم همین کارو بکنم.
3- در این صورت زیاد حرفه ای به نظر نمیاد و بهتر اینه که نوع داده دیتابیس هرچی هست همون رو وارد کنیم.
4- در مورد datatable هم که من خودم از استفاده از این ها خوشم نمیاد و راحت نیستم از List استفاده کردم.