07-01-19, 12:26 PM
(آخر تعديل لهذه المشاركة : 07-01-19, 01:19 PM {2} بواسطة abdullhadi999.)
(06-01-19, 07:36 PM)elgokr كتب :بعد مراجعة الكود فى ردك الاول بالاعلى
احببت ان اوضح تصحيح لكود مع شرح نقاط مهمة يجب الانتباه لها
فى البداية كود الاول الخاص بـ Sub يجب ان يكون بهذه الطريقة
كود :
Public Sub DeleteRowFrom_custdy_movement(ByVal Txtcustdy_codeW As Integer)
Dim CmdDelete As New SqlCommand
With CmdDelete
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Delete From custdy_movement Where custdy_code = " & Txtcustdy_codeW
End With
If Con.State = 1 Then Con.Close()
Con.Open()
CmdDelete.ExecuteNonQuery()
Con.Close()
MsgBox("تم حذف السجل", MsgBoxStyle.Information, "حذف")
CmdDelete = Nothing
End Sub
طريقة الاستخدام فى اى حدث لديك فى الفورم
ستستخدم السطر بهذا الشكل مع تغيير اللازم طبقاً للمسميات لديك
كود :
DeleteRowFrom_custdy_movement(Val(TextBox1.Text))
الان نقاط الشرح التى اريد شرحه والتنبيه عليهعند صناعة كود Sub أو Function
لا تحتاج ان تضع بداخله كود Tryويكفى فقط استخدام Try فى الحدث اى عند تنفيذ الكود
فمثلاً بداخل الزر يكون الشكل على هذا النحو
كود :
Try
DeleteRowFrom_custdy_movement(Val(TextBox1.Text))
Catch ex As Exception
MsgBox(ex.Message)
End Try
ما اضافة الاكواد المحتاج اليها اذا كان اعلى Catch او اسفلها كما انت بحاجة الى ذلكبمجرد تطبيق الشرح ستحل مشكلة الرسالة التى تظهر معك
لم اقوم بكتابة الكود كاملاً حتى يتثني لك استوعاب ما اقوم شرحةولكي لا تقع به مرة اخري
تذكر التعديل فى كود الـ Sub ليس فى ازالة الـ Try فقط بل فى تغير ايضاً
كود :
Public Sub DeleteRowFrom_custdy_movement(ByVal Txtcustdy_codeW As TextBox)
الى
كود :
Public Sub DeleteRowFrom_custdy_movement(ByVal Txtcustdy_codeW As Integer)
لاحظ الفرق بينهم
تحياتى لكوتمنياتى لك التوفيق
الله يكتب اجرك ويرزقك من حيث لاتحتسب .
عملت معي الطريقة ولاكن ظهرت معي هذه الرسالة ؟ طبعا الرسالة تظهر في حالة وجود اكثر من سجل والحذف منها اما في حالة كان الحذف للسجل الاخير فلا تظهر .

