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

نام تاپیک: اعمال تغییرات همزمان در کلیه کلاینت ها

  1. #1

    اعمال تغییرات همزمان در کلیه کلاینت ها

    با سلام خدمت دوستان

    من یه محیط شبکه دارم که یه برنامه روی تمام کلاینت هاش نصب (برنامه ای که خودم نوشتم)

    در این برنامه datagrid view ای وجود داره که اطلاعات اجناس رو نشون می ده .

    حالا فرض کنید در یک کلاینت تعداد اجناس این جدول رو تغییر می ده و کلاینت دیگه در حال

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

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

    بدون این که نیاز داشته باشن datagrid view مربوط به کامپیوتر خود را refresh کنن ؟

  2. #2
    کاربر تازه وارد آواتار khaste_007
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    تهران
    پست
    98

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

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

  3. #3

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    در مورد sql notification تحقیق کنید. فکر کنم کار شما رو راه بیاندازد. در همین سایت مطالبی هست

  4. #4
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    راه های زیادی وجود داره اما در نهایت حتماً باید Grid رفرش بشه

  5. #5
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    اینکه طرف دوم data قدیمی رو نتونه بروز کنه یه مسیله دیگست و راه های مختلفی داره .
    ولی به نظر من خوبه از یه پورت udp به طور سیل آسا برا همه id هایی که تغییر کردند بفرستی تا اونها همون رکورد را مجددا رفرش کنند .

  6. #6

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    دوستان عزیز من در مورد query Notification یه چیزایی شنید ام ولی نمی دونم آیا اینجا

    می شه استفاده کرد یا نه . از دوستانی که بیشتر با Query Notification کار کردن لطفا

    راهنمایی کنن.

  7. #7

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    کسی نظری نداره ؟

  8. #8
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    چون connection تو close میشه فکر نمیکنم sql notification کارتو راه بندازه .
    بیشتر تحقیق کن به ما هم بگو

  9. #9
    کاربر دائمی آواتار mostafaaa
    تاریخ عضویت
    دی 1386
    محل زندگی
    جزیره کیش
    پست
    723

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    سلام دوست من
    همونطور که یکی از دوستان هم به طور مختصر اشاره کردن یه راهش اینه که تمامی کلاینتها به یه پورت خاصی از سیستموتون برا ی دیتاگرام های UDP گوش بدن و هر زمان که پیامی مبتنی بر ادیت شدن دیتابیس اومد اونها هم گریدهاشون را رفرش کنن، و در سمت دیگه هم اگه هر سیستمی اطلاعات رو ویرایش کرد یه UDP Broadcast به اون پورت خاص بفرسته تا همه اون رو دریافت کنن.
    یا علی

  10. #10
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    در ضمن حرف دوستمون تکمیل کنم نه همه داده رو بلکه فقط سطرهایی که تغییر کرده اند .

  11. #11
    کاربر دائمی آواتار niloofar norouzi
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    سن
    37
    پست
    433

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    سلام
    چطور می تونم فقط تعذاذی از سطر ها را Refresh کنم؟
    با تشکر

  12. #12
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: اعمال تغییرات همزمان در کلیه کلاینت ها

    با استفاده از دستور IN میتونی رکورد هایی که تغییر کرده اند رو از پایگاه داده fetch کنی .
    در ضمن table Adapter خاصیتی به نام clearbeforeFill دارد که اگر false باشد رکوردهای قبلی را پاک نکرده و آنها را با رکوردهای جدید merge میکند .

برچسب های این تاپیک

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

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