برگزیده های پرشین تولز

نیاز به همکاری برنامه نویس آشنا با VC و Database

ARFX

کاربر تازه وارد
تاریخ عضویت
21 فوریه 2008
نوشته‌ها
4
لایک‌ها
0
با سلام

بخشی از پروژه ما شامل یک دیتا بیس SqlServer هستش که Host شده و از اینترنت قابل دسترسیه. چیزی که لازم داریم یک برنامه VC هستش برای ارتباط با این سرور. برنامه خیلی ساده است و فکر می کنم برای کسی که وارد باشه کمتر از چند ساعت وقت ببره. نمونه کدهاش هم توی اینترنت زیاده و چند نمونه لینک دادم. فقط من خودم چون تمرکزم روی وب هستش و با VC هم خیلی آشنا نیستم، نمی تونم حواسم رو به چند جا بدم و لازمه از یکی کمک بگیرم. ضمن اینکه برنامه ای که شما می نویسید یک الگو خواهد بود که من خودم باید کلی اصلاحش کنم.

شرح برنامه:
1. یک Dll بصورت Unmanaged (برنامه اصلی استفاده کننده از این DLL خیلی قدیمیه و .net سرش نمیشه) از MFC و ATL می تونید استفاده کنید. البته حتما اول مثال بند 9 رو مطالعه کنید.

2. چون فعلا سرور آماده نیست، خودتون یک دیتا بیس Sql Server خیلی ساده آماده کنید و همراه برنامه بفرستید(Script دیتا بیس رو بفرستید که من هم بتونم روی Express نصب کنم). برنامه exe برای کنترل DLL هم جزء کار شماست.

3. Connection Object بصورت Global باشه برای اینکه یک بار که Connect شد آماده بمونه برای استفاده های بعدی.

4. یک تابع Connect(char* Userame, char* PassWord) توجه بفرمایید که برنامه قدیمی ما C هستش و CString و BSTR و از این جور قرتی بازی ها سرش نمیشه. اگر لازمه String رو داخل توابعتون تغییر نوع بدین ولی ورود و خروج string با char* باشه.

5. یک تابع int ReadInt() و یک تابع char* ReadStr() که با استفاده از Connection ایجاد شده، یک رکورد رو از یک Recordset برگردونه. رکوردست باید Global تعریف بشه تا بشه بعد از یک با اجرا، با توابع دیگری در زمانهای دیگر در اون Move کرد.

6. یک تایع Command(char* a, int b) که یک StoredProcedure رو با این پارامترهای ورودی اجرا کنه.

7. برنامه موقع Select سرور رو Lock نکنه، چون اگه اشتباها Lock کنه و همینطور بمونه (مثلا Client هنگ کنه) فاتح بقیه کاربرا خوندست. اگر پیشنهادی دارید که چطور می شه جلوی Lock کردن رو از خود سرور گرفت (ترس از خرابکاری آتی کاربران) لطفا بفرمایید (احتمالا استفاده از View بجای Table ؟).

8. cursor سمت Client باشه، چون نمی خوام با هر بار Move کردن داخل رکوردست، Server دوباره Query رو Run کنه. ولی به Performance هم دقت کنید. احتمالا رکورد ست Dynamic بهتر از Static است.
http://www.thescripts.com/forum/thread664058.html

9. موتور دیتابیس برنامه Microsoft MDAC باشه. این مثل همون Jet هستش ولی همراه ویندوز هست و نیاز به Install اضافی نداره. یک مثال:
www.microsoft.com/downloads/details...077-4C3F-A807-4B033A32F1F8&displaylang=en

10. ترجیحا یک تابع باشه که ورژن صحیحMDAC رو چک کنه و True یا False بده یا بهتر اینه که اگر ورژن موجود درست نبود، با توجه به ورژن ویندوز، آدرس Download از مایکروسافت رو برگردونه.
http://www.zuggsoft.com/data/

11. با این شرایط برنامه نباید احتیاج به Setup داشته باشه.
12. قبلا اشاره شد که خودم باید خیلی تغییرات در برنامه ایجاد کنم، پس لطفا منظم بنویسید.
13. اینو باید بالا تر می نوشتم ولی حالا یادم اومد.یک Global String و یک تابع مربوطه هم باشه که Exception احتمالی رو برگردونه. اگر هم همه چیز درست بود، یک کد مربوطه! رو 0 کنه.

لطفا قیمت پیشنهادی رو PM کنید. ضمنا بودجه من هم به شدت انقباضیه! کارش هم که می بینید خیلی کمتر از حد توانایی شماست:) پس لطفا قیمتهاتون رو کمی مهربانانه تخمین بزنید.

با تشکر
 
بالا