تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 8 از 8

نام تاپيک: اطلاع از اضافه شدن رکورد به دیتابیس بر روی شبکه

  1. #1
    اگه نباشه جاش خالی می مونه naser_feb8646's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    زیر سایه امیرالمومنین
    پست ها
    268

    پيش فرض اطلاع از اضافه شدن رکورد به دیتابیس بر روی شبکه

    سلام دوستان واساتید محترم
    یک سوال داشتم
    من یه برنامه نوشتم و دیتابیس اون رو که SQLServer هست روی یک کامپیوتر قرار دادم و بقیه کامپیوتر ها رو از طریق IP و Port به دیتابیس متصل کردم حالا سوال اینجاست که من چطور وقتی در یک کامپیوتر رکوردی به دیتابیس اضافه میکنم بقیه کامپیوترها هم از این تغییر اطلاع پیدا کنند

  2. #2
    اگه نباشه جاش خالی می مونه naser_feb8646's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    زیر سایه امیرالمومنین
    پست ها
    268

    پيش فرض

    یعنی هیچگونه امکانی وجود نداره که بشه این کار رو انجام داد

  3. #3
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    برای دیتابیس SQLServer میتوانید از کلاس System.Data.SqlClient.SqlDependency استفاده کنید که مخصوص عمل مورد نظر شما طراحی شده.

  4. #4
    اگه نباشه جاش خالی می مونه naser_feb8646's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    زیر سایه امیرالمومنین
    پست ها
    268

    پيش فرض

    ممنون از پاسخگویی شما
    میشه لطف کنید و بیشتر توضیح بدین

  5. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    یک تاپیک و یک مثال بسیار قدیمی در این مورد داشتم که خوشبختانه کار میکند...

    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    برای امتحان:
    پس از اطمینان از نصب و فعال بودن SQLServer

    برنامه را که در شاخه bin قرار دارد به درایو D کپی کنید و exe موجود را با راست کلیک و فرمان Run As Admin اجرا کنید.

    برنامه تلاش میکند با یک ConnectionString پیشفرض به SQLServer متصل شود و اگر نتواند سپس دیالوگی برای تنظیم ConnectionString نمایش خواهد داد.

    برای الحاق دیتابیس دکمه Attach را کلیک کنید.

    نمونه دیگری از exe برنامه را مجدد با دبل کلیک اجرا کنید.

    هر دو برنامه را Start کنید.

    دکمه Sample INSERT یک سطر خالی در دیتابیس درج میکند و خواهید دید که هر دو نسخه برنامه از این درج مطلع میشوند...

    و...

    اطلاعات تکمیلی:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    موفق باشید.

  6. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  7. #6
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    برنامه مهندس به خوبی کار میکنه.

    اگر هم بخواهید داخل خود sql یا توسط دستورات sql آخرین تغییرات رو مشاهده کنید میتونید از خاصیت change tracking خود sql استفاده کنید.
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  8. #7
    اگه نباشه جاش خالی می مونه naser_feb8646's Avatar
    تاريخ عضويت
    Apr 2008
    محل سكونت
    زیر سایه امیرالمومنین
    پست ها
    268

    پيش فرض

    ممنون از شما جناب H2
    نرم افزار رو دیدم اما دقیقا نتونستم متوجه بشم که این کلاس چطور کار میکنه
    با عرض شرمندگی میدونم سرتون خیلی شلوغه ولی اگر براتون ممکنه میشه یه توضیحی در مورد روال کار این کلاس بدین

  9. #8
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    میبخشید گاهاً پاسخ دادنم طولانی میشود ...

    تاپیک قبلی هم که اشاره کردم، این بود:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    (که البته آن زمان کد اجرا نشد بدلیلی که بعداً متوجه شدم و در ادامه خواهم گفت ...)


    =====

    باید یک Connection به دیتابیس و یک Command حاوی دستور SQL-SELECT که قصد ردیابی تغییرات آن را دارید، ایجاد کنید...
    سپس شی ای از نوع System.Data.SqlClient.SqlDependency را با دادن Command نمونه سازی کنید و از رویداد OnChange جهت اطلاع از تغییرات استفاده کنید...

    گمانم شما به کد ساده ای نیاز دارید که اینقدرهاهم تو در تو نباشد!
    کد حداقلی که برای این منظور میتوان نوشت:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    (کد فوق آزمایش نشده)

    سه نکته را دقت کنید:

    1) Command مورد نظر باید یکبار ExecuteXXXXX شده باشد.

    2) باید سرویس بروکر روی دیتابیس مورد نظر فعال شده باشد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    (صدور دستور فوق، کلاً یکبار روی دیتابیس کافی است.)

    3) باید مجوز لازم جهت دیتابیس مورد نظر وجود داشته باشد: (مشکل چند سال قبل که این کد کار نمیکرد)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    (صدور دستور فوق، کلاً یکبار روی دیتابیس کافی است.)

    موفق باشید.

  10. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •