ارتباط از طریق دیتابیس مشترک

ARAsoftware

Member
سلام
من دنبال یه روشی میگردم که کار زیر رو برام انجام بده
دو تا برنامه دارم که از یه دیتا بیس مشترک استفاده میکنن (sql )
برنامه اول: یکیشون کار ثبت انجام میده
برنامه دوم: میخوام برای برنامه دوم تعیین کنم که هروقت رکورد جدیدی به تیبل مورد نظر اضافه شد ( توسط برنامه اول) بهمون پیغام بده
 

the_king

مدیرکل انجمن
سلام
من دنبال یه روشی میگردم که کار زیر رو برام انجام بده
دو تا برنامه دارم که از یه دیتا بیس مشترک استفاده میکنن (sql )
برنامه اول: یکیشون کار ثبت انجام میده
برنامه دوم: میخوام برای برنامه دوم تعیین کنم که هروقت رکورد جدیدی به تیبل مورد نظر اضافه شد ( توسط برنامه اول) بهمون پیغام بده

یک Table جدید مثلا با نام TableChanges اضافه کنید که صرفا محتوی فیلد یا فیلد های کلید Table مورد نظر باشه که در
ابتدای کار یک جدول خالیه. هر زمانی که در برنامه اول رکورد جدیدی به Table اضافه شد کلید اون رکورد رو در TableChanges
هم اضافه کنید.

در برنامه دوم در فواصل زمانی معین جدول TableChanges رو بررسی کنید که اگه خالی نبود پیغام بده و رکورد های داخلش
رو حذف کنه.
 

ARAsoftware

Member
من یه جدول مشترک درست کردم و تو برنامه دوم یه لیست باکس گذاشتم که فیلد مورد نظر تو جدولم رو در موقع لود شدن فرم داخل اون اضافه کنه
یه تایمر هم گذاشتم و تنظیم کردم که هر 10 ثانیه فیلد مورد نظر از جدول رو چک کنه و اگه تعدادش از تعداد قبلی موجود در لیست باکس بیشتر شده بود بهم پیغام بده ( message box ) و آیتم جدید رو هم به لیست باکس اضافه کنه

حالا مشکل اینجاست که اگه پیغام بده و OK رو نزنی دوباره 10 ثانیه بعد همون پیغامو میده و این داستان تا بی نهایت ادامه داره!
 

the_king

مدیرکل انجمن
من یه جدول مشترک درست کردم و تو برنامه دوم یه لیست باکس گذاشتم که فیلد مورد نظر تو جدولم رو در موقع لود شدن فرم داخل اون اضافه کنه
یه تایمر هم گذاشتم و تنظیم کردم که هر 10 ثانیه فیلد مورد نظر از جدول رو چک کنه و اگه تعدادش از تعداد قبلی موجود در لیست باکس بیشتر شده بود بهم پیغام بده ( message box ) و آیتم جدید رو هم به لیست باکس اضافه کنه

حالا مشکل اینجاست که اگه پیغام بده و OK رو نزنی دوباره 10 ثانیه بعد همون پیغامو میده و این داستان تا بی نهایت ادامه داره!

قبل از نمایش پیغام Enabled تایمر رو False و بعد از نمایش پیغام و حذف کردن رکورد های داخل جدول دوم
مجددا True کنید.
 

ARAsoftware

Member
اینجوری نوشتمش درست شد

کد:
private void timer1_Tick(object sender, EventArgs e)
        {int id=-1;
           SqlDataReader dr = db.select(sql_chek);
             if (dr.Read())
            {
                 id=(Int)dr[0];
                string sql_delet = "delete from change_001 where name='" + id + "'";
                db.exec(sql_delet);
                if (MessageBox.Show("سفارش جدید") == DialogResult.OK)
                {
                    Form2 f2 = new Form2();
                    
                    string sql5 = "select name,pic from u_001 where id=" + id;
                    SqlDataReader dr2 = db.select(sql5);
                    if (dr2.Read())
                    {
                        f2.Text = (string)dr2["name"];
                        f2.pictureBox1.Image = Bitmap.FromFile((string)dr2["pic"]);
                        f2.ShowDialog();
                    }
                    dr2.Close();
                }
                
            }
             dr.Close();


               
            
        }
 

جدیدترین ارسال ها

بالا