الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في التايمر

بدأه زهرة الزنبق في 5 يوليو 2012 · 4 رد · 506 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي تايمر في برنامج الشات استخدمه لكي يقوم بتنفيذ امر كل ثانية وهذا الامر اضعه في حدث timer_tick وفيه يقوم ب

1- الذهاب الي القاعدة واختيار الكلاممن الجدول chatting وهوالحقل "notes" وذلك عندما يكون المستقبل وهو في الجدول الحقل "user_2" = المتغير username والراسل وهو في الجدول الحقل "user_1" = المتغير user22

وعندما تكون حالة الكلام من حيث مقروء او غير مقروء وهي في الجدول الحقل"read_s"= القيمة 0 اي عندما يكون الكلام غير مقروء

ثم اظهار الكلام في text box وبعد ذلك تحديث الجدول لتصبح قيمة read_s=1 وذلك حتى اذا تم عمل التايمر مرة آخرى بعد 1 ثانية لينفذ نفس الامر لا يختار هذا الكلام مرة اخرى ويختار غيره تكون قيمة read_s فيه =0

وذلك بالكود:

Dim com1 As New SqlCommand("select notes from chatting where user_2='" & username & "'and user_1='" & user23 & "' and read_s=0 ", con)

Dim s1a As New DataSet

Dim t4 As New SqlDataAdapter

t4.SelectCommand = com1

t4.Fill(s1a, "chatting")

If s1a.Tables(0).Rows.Count <> 0 Then

Me.TextBox3.Text = Me.TextBox3.Text & Chr(13) & Chr(10) & user23 & " : " & s1a.Tables(0).Rows(0)(0)

TextBox3.SelectionStart = TextBox3.TextLength - 1

TextBox3.ScrollToCaret()

Dim upcom As New SqlCommand("update chatting set read_s=1, unreadn=1 where user_2='" & username & "'and user_1='" & user23 & "' and read_s=0 and unreadn=0", con)

con.Open()

upcom.ExecuteNonQuery()

con.Close()

End If TextBox3.ScrollToCaret()

المشكلة هي ان التايمر بيشتغل وبيظهر المحادثة في الtext box ثم يذهب الي الجدول ويحدث قيمة "read_s " ,ويجعلها true حتى لا تظهر نفس الرسالة مرة آخرى و يظل شغال

لكن من ضمن الرسائل تظهر رسالة لا يتم اظهارها في ال textbox وذلك لاحظته بالرجوع الى القاعدة حيث اجد الرسالة في القاعدة ولكن لا يتم اظهارها في ال textbox وهذه الرسالة يظهر ما قبلها وما بعدها

والغريب ان قيمة read_s الخاصة بها = 1 أي true وهذا معناه ان التايمر اشتغل ساعتها واختارها من الجدول عندما كانت قيمتها = false وحدث قيمتها ل true ولكنه لم يظهرها في ال textbox واظهر ما قبلها وما بعدها

#2

ارجو افادتي

#3

يجب ان تفسر اكثر مثلا نوع الحقل الى هو 1 = ترو او ارفق مثال صغير لأنى لم افهم قصدك بالظبط

#4

عندما يعمل التايمر يحدث قيمة الحقل read_s من false الى true اي نوع الحقل read_s هو bit

#5

ارجو إفادتي هل المشكلة في الانتيرفال انا قمت بضبطه على 1000 اي يعمل كل ثانية واحدة

مواضيع مشابهة