15-06-21, 01:30 AM
(آخر تعديل لهذه المشاركة : 15-06-21, 01:31 AM {2} بواسطة ابراهيم ايبو.)
السلام عليكم ورحمة الله وبركاته
احي الكريم
انت لم تضع حقل الشرط الذي سيتم بموجبه اختيار السجل لتعديله وهو هنا ItemID
الامر الاخر في جملة التعديل نضع كل الحقول التي سيتم التعديل عليها اولا ثم حقل الشرط في النهاية
تفضل التعديل
تعديل كود الزر
ملاحظة : كان لديك اختلاف ايضا في نوع حقل الاي دي حيث تم تعريفه في سطر اسم تعريف الصب من نوع long وفي الباراميتر integer تم تعديله عدله في قاعدة البيانات ليتوافق ايضا
في كود زر التعديل كل مربعات النصوص قم بتحويلها الى نوع بيانات الحقل ايضا بالرغم من ان الفيجوال بيسك يتساهل في هذه النقطة لكن تحويلها افضل تم تعديلها
لا اعلم ان كان هناك اخطاء اخرى تتعلق باسماء الحقول او شي أخر جرب الكود اولا
احي الكريم
انت لم تضع حقل الشرط الذي سيتم بموجبه اختيار السجل لتعديله وهو هنا ItemID
الامر الاخر في جملة التعديل نضع كل الحقول التي سيتم التعديل عليها اولا ثم حقل الشرط في النهاية
تفضل التعديل
كود :
Public Sub Update_Items(ByVal ItemBarcode As String, ByVal ItemName As String, ByVal ItemGroup As String, ByVal ItemCompany As String, ByVal ItemPlace As String, ByVal ItemPrice As Decimal, ByVal itemQty As Decimal, ByVal ItemLimit As Decimal, ByVal ItemMaxDiscound As Decimal, ByVal ItemEran As Decimal, ByVal ItemDate As DateTime, ByVal ItemTime As DateTime, ByVal ItemUser As String, ByVal ItemID As Integer)
Dim Cmd As New OledbCommand
With Cmd
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Update Items Set ItemBarcode = @ItemBarcode,ItemName = @ItemName,ItemGroup = @ItemGroup,ItemCompany = @ItemCompany,ItemPlace = @ItemPlace,ItemPrice = @ItemPrice,ItemQty = @ItemQty,ItemLimit = @ItemLimit,ItemMaxDiscound = @ItemMaxDiscound,ItemEran = @ItemEran,ItemDate = @ItemDate,ItemTime = @ItemTime,ItemUser = @ItemUser Where ItemID = @ItemID"
.Parameters.AddWithValue("@ItemBarcode", OleDbType.VarWChar).Value = ItemBarcode
.Parameters.AddWithValue("@ItemName", OleDbType.VarWChar).Value = ItemName
.Parameters.AddWithValue("@ItemGroup", OleDbType.VarWChar).Value = ItemGroup
.Parameters.AddWithValue("@ItemCompany", OleDbType.VarWChar).Value = ItemCompany
.Parameters.AddWithValue("@ItemPlace", OleDbType.VarWChar).Value = ItemPlace
.Parameters.AddWithValue("@ItemPrice", OleDbType.Double).Value = ItemPrice
.Parameters.AddWithValue("@ItemQty", OleDbType.Double).Value = itemQty
.Parameters.AddWithValue("@ItemLimit", OleDbType.Double).Value = ItemLimit
.Parameters.AddWithValue("@ItemMaxDiscound", OleDbType.Double).Value = ItemMaxDiscound
.Parameters.AddWithValue("@ItemEran", OleDbType.Double).Value = ItemEran
.Parameters.AddWithValue("@ItemDate", OleDbType.Date).Value = ItemDate
.Parameters.AddWithValue("@ItemTime", OleDbType.Date).Value = ItemTime
.Parameters.AddWithValue("@ItemUser", OleDbType.VarWChar).Value = ItemUser
.Parameters.AddWithValue("@ItemID", OleDbType.Integer).Value = ItemID
End With
If Con.State = 1 Then Con.Close()
Con.Open()
Cmd.ExecuteNonQuery()
Con.Close()
MsgBox("تم تعديل السجل بنجاح", MsgBoxStyle.Information, "تعديل")
Cmd = Nothing
End Subتعديل كود الزر
كود :
Private Sub BtnEdit_Click(sender As Object, e As EventArgs) Handles BtnEdit.Click
Update_Items(ItemBarcode.Text, ItemName.Text, ItemGroup.Text, ItemCompany.Text, ItemPlace.Text, Convert.ToDecimal(ItemPrice.Text), Convert.ToDecimal(ItemQty.Text), Convert.ToDecimal(ItemLimit.Text), Convert.ToDecimal(ItemMaxDiscound.Text), Convert.ToDecimal(ItemEran.Text), ItemDate.Value, ItemTime.Value, ItemUser.Text, Convert.ToInt32(ItemID.Text))
Load_Items()
End Subملاحظة : كان لديك اختلاف ايضا في نوع حقل الاي دي حيث تم تعريفه في سطر اسم تعريف الصب من نوع long وفي الباراميتر integer تم تعديله عدله في قاعدة البيانات ليتوافق ايضا
في كود زر التعديل كل مربعات النصوص قم بتحويلها الى نوع بيانات الحقل ايضا بالرغم من ان الفيجوال بيسك يتساهل في هذه النقطة لكن تحويلها افضل تم تعديلها
لا اعلم ان كان هناك اخطاء اخرى تتعلق باسماء الحقول او شي أخر جرب الكود اولا
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
