منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكله زر التعديل ضرورى افادكم الله
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
دا كود الحفظ اللى عندى يعمل تمام معى
بس مش عارف فى الرنامج دا مش عايز يحفظ البيات ليه
يتوقف عند السطر       SavInto.ExecuteNonQuery()
وبتخرج رساله 
Data type mismatch in criteria expression
ودا كود الحفظ
كود :
  Dim SavInto As New OleDb.OleDbCommand
       SavInto.Connection = con
       SavInto.CommandType = CommandType.Text
       SavInto.CommandText = "update tbl_customers set [morta]='" & TextBox8.Text & "' where tel  = " & Val(TextBox7.Text) & ""
       con.Open()
       SavInto.ExecuteNonQuery()
       SavInto.Dispose()
       con.Close()
       MsgBox("تم تسجيل البيانات بنجاح", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "تم الحفظ")

   End Sub
السلام عليكم ورحمة الله وبركاته
تفضل اخي حسين
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim SavInto As New OleDb.OleDbCommand()
       SavInto = New OleDb.OleDbCommand("update tbl_customers set [morta]='" & TextBox8.Text & "' where tel  = " & Val(TextBox7.Text) & "", con)
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       SavInto.ExecuteNonQuery()
       SavInto.Dispose()
       con.Close()
       MsgBox("تم تسجيل البيانات بنجاح", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "تم الحفظ")

   End Sub
(12-03-22, 12:35 AM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
تفضل اخي حسين
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim SavInto As New OleDb.OleDbCommand()
       SavInto = New OleDb.OleDbCommand("update tbl_customers set [morta]='" & TextBox8.Text & "' where tel  = " & Val(TextBox7.Text) & "", con)
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       SavInto.ExecuteNonQuery()
       SavInto.Dispose()
       con.Close()
       MsgBox("تم تسجيل البيانات بنجاح", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "تم الحفظ")

   End Sub

اولا جزاك الله خيرا
وشاكر ردك السريع
جعلك الله نافعا بما تعلمت
نفس المشكله يا اخى ونفس الرساله
طب ممكن يكون العلاقات 
او ان اول عمود من نوع نص وله مفتاح 
ممكن تكون دا سبب المشكله؟
اخي حسين 
ضع مثال مصغر للعمل عليه
اعتقد ان المشكلة هي في نوع بيانات عمود الشرظ وهو رقم الهاتف على ماأظن وهو نوع نص حتى يقبل الصفر من اليسار 
وعندما تأخذ ال Val لمربع النص انت تقوم بحذف الصفر من اليسار لذلك لا يتم التعرف على السجل يفضل ان تضع الشرط هكذا
كود :
where tel  = '" & TextBox7.Text & "'"
(12-03-22, 12:44 AM)ابراهيم ايبو كتب : [ -> ]اخي حسين 
ضع مثال مصغر للعمل عليه
اعتقد ان المشكلة هي في نوع بيانات عمود الشرظ وهو رقم الهاتف على ماأظن وهو نوع نص حتى يقبل الصفر من اليسار 
وعندما تأخذ ال Val لمربع النص انت تقوم بحذف الصفر من اليسار لذلك لا يتم التعرف على السجل يفضل ان تضع الشرط هكذا
كود :
where tel  = '" & TextBox7.Text & "'"

اخى الفاضل 
 المثال هنا

(12-03-22, 12:44 AM)ابراهيم ايبو كتب : [ -> ]اخي حسين 
ضع مثال مصغر للعمل عليه
اعتقد ان المشكلة هي في نوع بيانات عمود الشرظ وهو رقم الهاتف على ماأظن وهو نوع نص حتى يقبل الصفر من اليسار 
وعندما تأخذ ال Val لمربع النص انت تقوم بحذف الصفر من اليسار لذلك لا يتم التعرف على السجل يفضل ان تضع الشرط هكذا
كود :
where tel  = '" & TextBox7.Text & "'"
تقريبا انت صح 
لان انا عملت ول حقل فيه اسماء وليس ارقام ولاكن اعتمدت على انه لايقبل التكرار 
ستفهم ما اقصده بتشغيل المثال Big Grin

(12-03-22, 12:44 AM)ابراهيم ايبو كتب : [ -> ]اخي حسين 
ضع مثال مصغر للعمل عليه
اعتقد ان المشكلة هي في نوع بيانات عمود الشرظ وهو رقم الهاتف على ماأظن وهو نوع نص حتى يقبل الصفر من اليسار 
وعندما تأخذ ال Val لمربع النص انت تقوم بحذف الصفر من اليسار لذلك لا يتم التعرف على السجل يفضل ان تضع الشرط هكذا
كود :
where tel  = '" & TextBox7.Text & "'"

دا كود الحفظ فى الداتا جريد بعد التعديل اليدوى
زر حفظ البيانات
كود :
Dim cmd As New OleDbCommandBuilder(da)
       Try
           da.Update(dt_cust)
           con.Close()
           MsgBox("تمت التعديل بنجاح")
       Catch ex As Exception
           MsgBox(ex.Message)
           Exit Sub
       End Try
   End Sub
السلام عليكم 
اخي حسين
المشكلة انك تأخذ الشرط من مكان لا تتواجد فيه قيمة الشرط انا أخذت قيمة الشرط من الـ Textbox1 وتم التعديل وعمل الكود
التكست بوكس 7 فارغ
عدل الى التالي 
كود :
cmd = New OleDb.OleDbCommand("update tbl_customers set [morta]='" & TextBox8.Text & "' where tel  = '" & TextBox1.Text & "'", con)
(12-03-22, 02:20 AM)ابراهيم ايبو كتب : [ -> ]السلام عليكم 
اخي حسين
المشكلة انك تأخذ الشرط من مكان لا تتواجد فيه قيمة الشرط انا أخذت قيمة الشرط من الـ Textbox1 وتم التعديل وعمل الكود
التكست بوكس 7 فارغ
عدل الى التالي 
كود :
cmd = New OleDb.OleDbCommand("update tbl_customers set [morta]='" & TextBox8.Text & "' where tel  = '" & TextBox1.Text & "'", con)
جزاك الله خير الجزاء
والله متعرفش انا بقالى تقريبا اسبوع  مش عارف ايه السبب 
فعلا نجح الامر 
جزيت خيرا يا اخى ابراهيم [صورة مرفقة: heart.gif][صورة مرفقة: heart.gif]