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

سؤال عن متغير يفيد عدد السجلات التي تم التحديث فيها

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

لدي جدول اقوم باستدعاءه في داتا جريد وهذا الجدول به 4 عواميد واحد لاسم المستخدم والثلاث الباقيين لصلحيات المستخدم وهي الاضافة - التعديل - الحذف

وهذه الصلحيات قيمة الحقول الخاصة بها bit وعندما استدعي الجدول بالداتا جريد اقوم بالتعديل في هذه الصلحيات من خلال checkboxs الموجودة بالداتا جريد واحيانا اقوم بتعديل اكثر من سجل معا

واقوم باظهار رسالة تفيد باتمام عملية التعديل  و عدد السجلات المعدلة

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

اما المشكلة فهي في الرسالة التي تظهر وتفيد بعدد السجلات التي تم التعديل فيها فانه

بعد اتمام عملية التعديل فتظهر الرسالة بعدد السجلات الموجودة تظهر اول واحدة "تم تعديل عدد1 من 7 سجلات" والثانية "تم تعديل عدد2 من 7 سجلات" الى ان تصل الى "تم تعديل عدد7 من 7 سجلات" حتى لو تم التعديل في واحد او اثنان فقط  فتظهر الرسالة 7 مرات اي  بعدد السجلات الموجودة  في الجدول وهذا هو الكود

Dim count As Integer : count = 0

Dim sms

Dim i

sms = DataGridView1.Rows.Count

Try

For i = 0 To sms - 1

Dim upcom As New SqlCommand("update log_on set add_user= '" & Trim(Me.DataGridView1.Item(1, i).Value) & "' , edit_user= '" & Trim(Me.DataGridView1.Item(2, i).Value) & "' , delete_user= '" & Trim(Me.DataGridView1.Item(3, i).Value) & "' Where user_name= '" & Trim(Me.DataGridView1.Item(0, i).Value) & "' ", con)

con.Open()

upcom.ExecuteNonQuery()

con.Close()

If con.State = ConnectionState.Open Then con.Close()

count += 1

MsgBox("تمت التعديل بنجاح على" & count & " سجل/ سجلات", MsgBoxStyle.MsgBoxRight, "نجاح العملية")

Next i

Catch ex As Exception

MsgBox("فشلت عملية التعديل")

End Try

تم تعديل هذه المشاركة بواسطة زهرة الزنبق في 15 يوليو 2012 في 11:11

#2

ارجوا التوضيح بطلبك لو سمحتي

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#3

المشكلة في الكودالخاص بالرسالة التي تظهر وتوضح عدد السجلات التي تم تعديلها لاني كما وضحت ان الكود شغال وبيعدل السجلات لكن الخطأ يظهر في الرسالة

فهذه الرسالة المفروض تظهر مرة واحدة تفيد " تم تعديل (عدد السجلات المعدلة) من السجلات الكلية " ولكنها كما وضحت بالاعلى تظهر اكثر من مرة

تم تعديل هذه المشاركة بواسطة زهرة الزنبق في 15 يوليو 2012 في 13:47

#4

حياك الله اختي زهرة

بالنسبة لسؤلك السبب في تكرار ضهور الرسائل فهو بسبب وجود الأمر msgbox داخل جسم الدوارة , والحل يتم بإخراجه خارج الدوارة كما يلي

Next i

MsgBox("تمت التعديل بنجاح على" & count & " سجل/ سجلات", MsgBoxStyle.MsgBoxRight, "نجاح العملية")

Catch ex As Exception

MsgBox("فشلت عملية التعديل")

End Try

بالتوفيق إن شاء الله

تم تعديل هذه المشاركة بواسطة eng.asem في 15 يوليو 2012 في 14:08

#5
eng.asem كتب:

بالنسبة لسؤلك السبب في تكرار ضهور الرسائل فهو بسبب وجود الأمر msgbox داخل جسم الدوارة , والحل يتم بإخراجه خارج الدوارة كما يلي

Next i

MsgBox("تمت التعديل بنجاح على" & count & " سجل/ سجلات", MsgBoxStyle.MsgBoxRight, "نجاح العملية")

Catch ex As Exception

MsgBox("فشلت عملية التعديل")

End Try

بالتوفيق إن شاء الله

كما عقب الاخ عاصم فقط قومي باخراج الرسالة من جملة الدوران التي كتبتيها

count += 1
MsgBox("تمت التعديل بنجاح على" & count & " سجل/ سجلات", MsgBoxStyle.MsgBoxRight, "نجاح العملية")

ليصبح كودك كتالي :

Dim count As Integer : count = 0
Dim sms
Dim i
sms = DataGridView1.Rows.Count
Try
For i = 0 To sms - 1

Dim upcom As New SqlCommand("update log_on set add_user= '" & Trim(Me.DataGridView1.Item(1, i).Value) & "' , edit_user= '" & Trim(Me.DataGridView1.Item(2, i).Value) & "' , delete_user= '" & Trim(Me.DataGridView1.Item(3, i).Value) & "' Where user_name= '" & Trim(Me.DataGridView1.Item(0, i).Value) & "' ", con)
con.Open()
upcom.ExecuteNonQuery()
con.Close()
If con.State = ConnectionState.Open Then con.Close()

count += 1
Next i
MsgBox("تمت التعديل بنجاح على" & count & " سجل/ سجلات", MsgBoxStyle.MsgBoxRight, "نجاح العملية")
Catch ex As Exception
MsgBox("فشلت عملية التعديل")
End Try

بالتوفيق اختي

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#6

الرسالة تظهر مرة واحدة لكن عند تعديل اكثر من سجل تظهر تم "تعديل عدد7من 7 سجلات"حتى لو لم يتم تعديل الكل

#7

ارجو الافادة

#8

اختي الرجاء ارفاق مشروك او البرنامج الذي تعملين عليه

او ارفاق الكود كاملا للعملية التي تتحدثين عنها

تم توضيح الفكرة لي واذا قمتي باعطائي الكود كما طلب فربما اساعدك في تعدي المشكلة

بالتوفيق

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#9
زهرة الزنبق كتب:

الرسالة تظهر مرة واحدة لكن عند تعديل اكثر من سجل تظهر تم "تعديل عدد7من 7 سجلات"حتى لو لم يتم تعديل الكل

قومي بتغيير الأمر

upcom.ExecuteNonQuery()

بهذا الأمر

rowsAffected =upcom.ExecuteNonQuery()

حيث سيحتفظ المتغير rowsAffected بعدد السجلات المتغيرة

#10

ببساطة ماريدهلدي جدول اقوم باستدعاءه في داتا جريد وهذا الجدول به 4 عواميد واحد لاسم المستخدم والثلاث الباقيين لصلحيات المستخدم وهي الاضافة - التعديل - الحذفوهذه الصلحيات قيمة الحقول الخاصة بها bit وعندما استدعي الجدول بالداتا جريد اقوم بالتعديل في هذه الصلحيات من خلال checkboxs الموجودة بالداتا جريد واحيانا اقوم بتعديل اكثر من سجل معاعملية التعديل تتم بلا مشاكل وايضا اذا اردت تعديل اكثر من سجل في وقت واحد فانه يتم التعديلماريده هو اظهار رسالة تفيد بعدد السجلات التي تم تعديلها من عدد السجلات الكلية

#11

ارجو الافادة

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…