تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ممكن حل للمشكلة هدي
#2
السلام عليكم ورحمة الله وبركاته
احي الكريم 
انت لم تضع حقل الشرط الذي سيتم بموجبه اختيار السجل لتعديله وهو هنا   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  تم تعديله عدله في قاعدة البيانات ليتوافق ايضا

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







الرد }}}
تم الشكر بواسطة: ابو روضة


الردود في هذا الموضوع
ممكن حل للمشكلة هدي - بواسطة Alanwalker - 15-06-21, 12:12 AM
RE: ممكن حل للمشكلة هدي - بواسطة ابراهيم ايبو - 15-06-21, 01:30 AM
RE: ممكن حل للمشكلة هدي - بواسطة Alanwalker - 15-06-21, 01:40 AM


التنقل السريع :


يقوم بقرائة الموضوع: