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

نام تاپیک: اعمال تغییرات جدید دیتابیس sql در سی شارپ

  1. #1
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    اعمال تغییرات جدید دیتابیس sql در سی شارپ

    باسلام
    وقتی برنامه را ارائه می کنیم بعد از مدتی که در دیتابیس ممکن است field هایی یا table هایی یا ...
    به دیتابیس اضافه بشه یا حذف بشه یا تغییراتی در دیتابیس صورت بگیره حالا برای اعمال تغییرات در دیتابیس هایی برای اون هایی که نیاز پیدا می کنند برای استفاده هر چه بهتر برنامه صورت بگیره.
    کم هزینه ترین روش اینه که در exe برنامه بیام تغییراتی می خوام رو بدم و دیتابیس Update
    با چه روش هایی این کار رو بهتره انجام بدم

  2. #2
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    لطفا کمکم کنید

  3. #3
    کاربر دائمی آواتار gilas1368
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    مشهد
    پست
    1,178

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    این کارو خودتون انجام می دین یا مصرف کننده؟
    برای اینکار عملا باید سورس کد رو داشته باشین در غیر این صورت فکر نمی کنم بشه چنین کاری روانجام داد.
    شایدم من ندیدم
    اگه راهی پیدا کردید به من رو هم بی نسیب نزارین

  4. #4
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    احتیاجی نیست کاربر کاری انجام بده
    می خوام کاری رو انجام بدم که اول بیام چک کنم آیا مثلا در table فیلد myField وجود دارد
    اگر وجود نداشت همون فیلد رو اضافه کنم به table اگر داشت برم سراغ تغییر بعدی

  5. #5
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    کسی نیست یه راهی برای حل این مشکل بده
    این روشی که همه بهش نیاز پیدا می کنند

  6. #6
    کاربر دائمی آواتار gilas1368
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    مشهد
    پست
    1,178

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    آخه اینکار تمام کدهای نوشته شده رو نابود میکنه و سیلی از خطا رو بوجود میاره
    من به شخصه تا حالا چنین برنامه ای رو ندیدم

  7. #7

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    نقل قول نوشته شده توسط gilas1368 مشاهده تاپیک
    آخه اینکار تمام کدهای نوشته شده رو نابود میکنه و سیلی از خطا رو بوجود میاره
    من به شخصه تا حالا چنین برنامه ای رو ندیدم
    دوستمون درست ميگن . اين كار كاملا اشتباهه و كم كم برنامه رو به نابودي ميكشونه و كار اشتباهيه با اين حال
    اگه دقت كني داخل آنتي ويروس ها يك UpdateDatabase هست و يك UpdateProgram ....
    توي UpdateDatabase شما فقط مقادير جداولت Update ميشه نه فيلد ها .
    ولي تو UpdateProgram بايد سيستمي طراحي كني كه علاوه بر تغير exe برنامه ... اطلاعات ديتابيس قبلي روي ديتابيس جديد نوشته بشه و.... سپس جايگزين بشن .

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    همین نزدیکیها
    پست
    683

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    من یه سوالی میپرسم
    اگر دیتابیسی رو تغییر دادیم و فیلدی اضافه کردیم و table اضافه کردیم و ... مگر توی برنامه برای پرکردن و نمایش و گزارش مگه به فرم و ابزار ها نیاز نداریم؟
    اونها رو چیکار میکنی؟
    مگر اینکه برنامه رو از اول به روشی طراحی کنیم که کاربر اجازه اضافه کردن فیلد رو داشته باشه و بتونه فرم ایجاد کنه و ایزارهای لازم رو روی فرم بچینه و .....
    اگه میتونی اینطوری برنامه بنویسی آره میشه
    در غیر اینصورت باید تغییرات رو به دیتابیس بدی و exe جدید رو هم بسازی و بعد به کاربرات بگی که فایل جدید رو دانلود کنن و موقع اجرا برای اولین بار بگی تغییرات رو روی دیتابیس اعمال کنن
    البته این کار رو با ثبت شماره نسخه در رجیستری و چک کردن اون با ورژن برنامه میشه تشخیص داد و پس از اجرای قسمت update بانک اطلاعات ، شماره نسخه در رجیستری رو با exe جدید یکی کنیم که دفعه بعد دوباره اجرا نشه

  9. #9

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    با سلام
    من با sadaf_ موافقم
    تا کی باید تغییرات دیتابیس رو دستی انجام بدیم در صورتی که با یک الگوریتم ساده می توان این مشکل رو حل کرد
    مثلا
    دستورات تغییرات دیتابیس رو در برنامه می نویسیم و هر تغییری باید بعد از یک شرط قرار بگیره
    برای اضافه شدن فیلد باید قبلش چک کنیم آیا وجود داره یا نه اگر نداشت اضافه بشه البته باید قبل از اینکه فرم main لود می شه چک کرد
    خیلی ساده ست ولی نمی دونم با کد نویسی چطوری می شه نام فیلد یا table رو چک کرد
    با این روش هیچ وقت یک فیلد دو بار روی یک دیتابیس add نمی شه و می شه بعد از اینکه همه مشتری هایی که از برنامه استفاده می کنند exe نهایی رو دریافت کردند همه تغییرات دیتابیسی که در برنامه وجود داره رو پاک کرد و تغییرات جدید رو کد نویسی کرد

  10. #10

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    نقل قول نوشته شده توسط Arash_janusV3 مشاهده تاپیک
    با سلام
    من با sadaf_ موافقم
    تا کی باید تغییرات دیتابیس رو دستی انجام بدیم در صورتی که با یک الگوریتم ساده می توان این مشکل رو حل کرد
    مثلا
    دستورات تغییرات دیتابیس رو در برنامه می نویسیم و هر تغییری باید بعد از یک شرط قرار بگیره
    برای اضافه شدن فیلد باید قبلش چک کنیم آیا وجود داره یا نه اگر نداشت اضافه بشه البته باید قبل از اینکه فرم main لود می شه چک کرد
    خیلی ساده ست ولی نمی دونم با کد نویسی چطوری می شه نام فیلد یا table رو چک کرد
    با این روش هیچ وقت یک فیلد دو بار روی یک دیتابیس add نمی شه و می شه بعد از اینکه همه مشتری هایی که از برنامه استفاده می کنند exe نهایی رو دریافت کردند همه تغییرات دیتابیسی که در برنامه وجود داره رو پاک کرد و تغییرات جدید رو کد نویسی کرد
    اگه ميخواستيم اين كار رو بكنيم ديگه چرا Sql Managment رو ساختن ؟؟؟؟ شما شايد بتوني با دستورات برنامه نويسي چند تا جدول درست كني يا حذف كني ولي آيا ميتوني از همه امكانات Sql server با اين روش استفاده كني ؟

    اصلا يه سوال : وقتي تو ميخواي خودتو به زحمت بندازي و كدهاي عجيب غريب Sql رو در C#‎ اجرا كني هدفت چيه ؟ميخواي ديتا بيس رو مديريت كني ديگه ؟؟؟ آيا راه ساده تر براي مديريت استفاده از همون Sql Managment نيست ؟

  11. #11

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    فرض می کنیم 100 موسسه از برنامه ها استفاده می کنند
    به نظر شما راه منطقی اینه که برای هر تغییر در دیتابیس و به روز رسانی اونها باید بریم 100 تا موسسه رو دیتابیس ها رو تغییرات رو اعمال کنیم
    این روش خارج از تکنولوژی مایکروسافته و برای به روز رسانی باید ساعت ها وقت گذاشت و روز به روز حجم مشتری ها و ... از کنترل خارج می شه
    با این روش به روز رسانی دیتابیس کاربر درگیر هیچ چیزی نمی شه فقط به exe نیاز داره همین

  12. #12

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    نقل قول نوشته شده توسط Arash_janusV3 مشاهده تاپیک
    فرض می کنیم 100 موسسه از برنامه ها استفاده می کنند
    به نظر شما راه منطقی اینه که برای هر تغییر در دیتابیس و به روز رسانی اونها باید بریم 100 تا موسسه رو دیتابیس ها رو تغییرات رو اعمال کنیم
    این روش خارج از تکنولوژی مایکروسافته و برای به روز رسانی باید ساعت ها وقت گذاشت و روز به روز حجم مشتری ها و ... از کنترل خارج می شه
    با این روش به روز رسانی دیتابیس کاربر درگیر هیچ چیزی نمی شه فقط به exe نیاز داره همین
    1. براي به روز رساني برنامه نياز نيست بري و دونه دونه برنامه ها رو تغير بدي ... اين كار رو فايل exe تو انجام ميده (اون هم از اينترنت آپديت ميشه)ولي نه اينكه بياد دستورات sql رو با خودش حمل كنه ، بلكه غالب ديتابيس رو با خودش حمل ميكنه و در سيستم مبدا اطلاعات اون را با استفاده از همون exe بروز رساني ميكنه ..

    در ثاني اگه بگيم حرفه شما درست ... شما در آپديت اول برنامه مياي 20 خط براي آپديت ديتابيس مينويسي .. آپديت بعدي 20 خط ديگه به كدهاي قبلي اضافه ميكني ووو آپديت بعدي ... يه جايي ميبيني كه تو بره آپديت ديتابيس اوليه هزاران خط نوشتي كه چي ؟؟ ديتابيس رو آپديت كني .... آيا خوانايي ديتابيس و برنامه پايين نمياد ؟

  13. #13

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    در روش اول شما اشاره داشتید به حمل کردن دیتابیس می شه یه سری اطلاعات در این خصوص بدین
    با سپاس

    و اما در مورد بحث دوم
    وقتی ما مطمئن باشیم همه کاربر ها exe های نسخه نهایی رو دارند خوب کدهای update دیتابیس رو پاک می کنیم و دیگه نیازی بهشون نداریم

  14. #14

    نقل قول: اعمال تغییرات جدید دیتابیس sql در سی شارپ

    ولي تو UpdateProgram بايد سيستمي طراحي كني كه علاوه بر تغير exe برنامه ... اطلاعات ديتابيس قبلي روي ديتابيس جديد نوشته بشه و.... سپس جايگزين بشن .
    در واقع ديتابيس جديد ميتونه هيچ داده اي نداشته باشه ... يعني فقط جداول و view ها و procedure ها و ....... داخلش هست و بايد در سيستم مقصد با توجه به مقادير جدول قبلي .. جداولش پر بشه
    مقادير جديد هم كه در كنار فايل آپديت هستش ديگه..
    البته اين نظر من هستش .... ميتونه راه هاي بهتر و اصولي تري هم باشه .....

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

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