نمایش نتایج 1 تا 4 از 4

نام تاپیک: چگونه برنامه ام را با برنامه جديدتر Upgrade كنم

  1. #1

    چگونه برنامه ام را با برنامه جديدتر Upgrade كنم

    چگونه ميشود برنامه اي را كه قبلا نوشته ام را upgrade كنم ولي برنامه قبلي را حذف نكنم اگر ورژن جديد شد خودش عوض كند اگر جديد است عوض نكند
    آخرین ویرایش به وسیله salehbagheri : چهارشنبه 25 آذر 1388 در 22:23 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهد
    سن
    38
    پست
    164

    نقل قول: چگونه ميشود برنامه اي را كه قبلا نوشته ام ...؟

    راه حلی که من دارم به این صورته:
    شما برای این کار باید ابتدا پروژه ای درست کنید که قابلیت آپدیت رو داشته باشه. حالا بخش های برنامه که به هم مرتبط هستند رو جدا در فایل های جدا قرار بده. سپس تک تک اون فایل ها رو داخل برنامۀ اصلیت لود کن. البته مدیریت این کار کمی سخت میشه ولی به عنوان یک گزینه برای این کار میشه روش حساب کرد. حالا هر زمان که فایل های جدیدت تغییر می کنه کاربر می تونه با دانلود اونها تغییرات رو روی برنامش اعمال کنه.

    توضیحات بالا به صورت تئوری بود اگه در بخش عملی مشکلی داشتی بگو تا کمکت کنم.
    (مهمترین بخش تشخص و لود فایل ها به صورت اتومات در برنامه است)

  3. #3

    نقل قول: چگونه ميشود برنامه اي را كه قبلا نوشته ام ...؟

    در صورت امكان مراحل عملي كار را توضيح بدهيد.

  4. #4
    کاربر دائمی آواتار DoDoklak
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شهر 3500 ساله
    پست
    320

    نقل قول: چگونه برنامه ام را با برنامه جديدتر Upgrade كنم

    در هنگام آپدیت دو حالت وجود داره آپدیت فایل EXE و آپدیت بانک اطلاعاتی

    برای آپدیت فایل exe کافی آپدیت جدید رو به مشتری بدید با کپی کردن حل میشه

    اما بانک اطلاعاتی:
    شما میتونید از دو روش استفاده کنید
    1-اینکه مشتری یک بکاپ براتون بفرسته (با ایمیل یا هرچی) و شما تغییرات رو اعمال کنید و فایل جدید رو بهش پس بدید
    2-یه برنامه جدا به نام آپدیت بنویسید تا به صورت نرم افزاری تغییرات رو اعمال کنه(با کد نویسی)

    البته روش اول راحتره ولی دردسر انتقال فایلش بیشتره
    روش دوم کارایی بهتری داره و دانش بیشتری تو تغییرات در بانک میخواد

    چند تا نکته:
    1- هرگز ساختار جداولتان را تغيير ندهيد
    2- ايندكس هاي يونيك را به هيچ عنوان تغيير ندهيد
    3 - براي ارتقاء حتي الامكان سعي كنيد از جداول جديد استفاده كنيد ، مگر اينكه نشود يا سربار پردازشي بصورت چشمگيري بالا برود
    4- ويو ها ، توابع ، پروسيجرهاي ذخيره شده را با خيال راحت تغيير دهيد و از تغيير در آنها نترسيد !

    جهت ارتقاء نياز داري كه هر نسخه از ديتابيست رو بتوني تشخيص بدي ، خيلي روي اين نكته دقيق باش . بايد در يك نقطه از ديتابيس ورژن رو ذخيره كني حالا ميخواد جدول تنظيمات باشه يا هر كجاي ديگه

    مثال:
    فرض کنید بانک شما احتیاجات زیر رو جهت آپدیت داره:
    اضافه کردن فیلد X5 به جدول X
    حذف کردن فیلد Y4 از جدول Y

    روش اول : یه بکاپ از مشتری رو میگری اون تو سیستم خودت تو محیط SQL SERVER بصورت دستی دو کار بالا رو انجام میدی و بعد بکاپ رو به مشتری پس میدی و تغییرات اعمال میشه

    روش دوم : یک فایل exe جهت آپدیت ایجاد میکنی و تغییرات بالا رو با کد نویسی اعمال میکنی و فقط کافی این فایل رو مشتری بدی و وقتی اونو اجرا میکنه برنامه تغییرات رو تو بانک اعمال میکنه

    روش اول زیاد اطلاعات آنچنانی نمیخواد فقط یکم دردسر داره
    ولی روش دوم کارایی بیشتری داره و اطلاعات نسبتا بیشتری میخواد (البته نه زیاد)

    یک نمونه:
    فرض کنید شما قرار عملیات زیر رو جهت آپدیت انجام بدید
    1-خالی کردن جدول TableName
    2-صفر کردن شماره AutoNumber
    3- حذف ستون X1
    4-ایجاد ستون Y1

    با نمونه کد زیر تمام اینکارها به صورت اتوماتیک توسط فایل آپدیت شما انجام میشه

    Dim CmdInsert As New OleDbCommand
    AccessCon.Open()

    ‘**** 1 اجرای مرحله
    CmdInsert = New OleDb.OleDbCommand(“DELETE FROM TableName”, AccessCon)
    CmdInsert.ExecuteNonQuery()

    ‘**** 2 اجرای مرحله
    CmdInsert = New OleDb.OleDbCommand("Alter Table TableName Alter COLUMN ID counter(1)", AccessCon)
    CmdInsert.ExecuteNonQuery()
    ‘**** 3 اجرای مرحله
    CmdInsert = New OleDb.OleDbCommand("Alter Table TableName DROP COLUMN X1", AccessCon)
    CmdInsert.ExecuteNonQuery()
    ‘**** 4 اجرای مرحله
    CmdInsert = New OleDb.OleDbCommand(“Alter Table TableName ADD COLUMN Y1 Text”, AccessCon)
    CmdInsert.ExecuteNonQuery()


    امیدوارم مشکلت حل بشه اگه منظورت هم این نیست میتونی توضیحات بیشتری بدی تا بهتر بشه راهنمایتون کرد

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •