تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] رسالة خطأ عن تعديل بيانات في قاعدة بيانات
#1
Exclamation 
السلام عليكم ورحمة الله
اخواني انا عندي قاعدة بيانات على اكسس  مربوطة في الفيجوال  بيزك 2017 .. واكسس 2016 . اضفت ازرار اضافه وحفظ وحذف وكلها شغاله تمام

لكن زر التعديل .. لما اعدل اي شي بالبيانات يظهر لي هذا الخطأ


هذا كود التعديل
كود :
Public Sub Update_tbl1(ByVal emp_name AS String,ByVal emp_ID AS Long,ByVal job_nmbr AS String,ByVal job_type AS String,ByVal job_level AS String,ByVal case_due AS String,ByVal s_from AS String,ByVal s_number AS String,ByVal s_date AS String,ByVal ts_from AS String,ByVal ts_number AS String,ByVal ts_date AS String,ByVal for_what AS String,ByVal punsh_type AS String,ByVal punsh_detail AS String,ByVal IDW AS Long)
Dim Cmd As New OledbCommand
With Cmd
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Update tbl1 Set emp_name = @emp_name,emp_ID = @emp_ID,job_nmbr = @job_nmbr,job_type = @job_type,job_level = @job_level,case_due = @case_due,s_from = @s_from,s_number = @s_number,s_date = @s_date,ts_from = @ts_from,ts_number = @ts_number,ts_date = @ts_date,for_what = @for_what,punsh_type = @punsh_type,punsh_detail = @punsh_detail Where ID = @ID"
.Parameters.Clear()
.Parameters.AddWithValue("@emp_name", OleDbType.VarWChar ).Value = emp_name
.Parameters.AddWithValue("@emp_ID", OleDbType.Integer ).Value = emp_ID
.Parameters.AddWithValue("@job_nmbr", OleDbType.VarWChar ).Value = job_nmbr
.Parameters.AddWithValue("@job_type", OleDbType.VarWChar ).Value = job_type
.Parameters.AddWithValue("@job_level", OleDbType.VarWChar ).Value = job_level
.Parameters.AddWithValue("@case_due", OleDbType.VarWChar ).Value = case_due
.Parameters.AddWithValue("@s_from", OleDbType.VarWChar ).Value = s_from
.Parameters.AddWithValue("@s_number", OleDbType.VarWChar ).Value = s_number
.Parameters.AddWithValue("@s_date", OleDbType.VarWChar ).Value = s_date
.Parameters.AddWithValue("@ts_from", OleDbType.VarWChar ).Value = ts_from
.Parameters.AddWithValue("@ts_number", OleDbType.VarWChar ).Value = ts_number
.Parameters.AddWithValue("@ts_date", OleDbType.VarWChar ).Value = ts_date
.Parameters.AddWithValue("@for_what", OleDbType.VarWChar ).Value = for_what
.Parameters.AddWithValue("@punsh_type", OleDbType.VarWChar ).Value = punsh_type
.Parameters.AddWithValue("@punsh_detail", OleDbType.VarWChar ).Value = punsh_detail
.Parameters.AddWithValue("@ID", OleDbType.Integer ).Value = IDW
End With
If Con.State = 1 Then Con.Close()
Con.Open()
Cmd.ExecuteNonQuery()
Con.Close()
MsgBox("تم تعديل السجل بنجاح", MsgBoxStyle.Information, "تعديل")
Cmd = Nothing
End Sub


وهذا كود الزر  
كود :
Update_tbl1(emp_name.Text,emp_ID.Text,job_nmbr.Text,job_type.Text,job_level.Text,case_due.Text,s_from.Text,s_number.Text,s_date.Text,ts_from.Text,ts_number.Text,ts_date.Text,for_what.Text,punsh_type.Text,punsh_detail.Text,ID.Text)

وهذا الخطأ لمن اضغط على زر تعديل

PHP كود :
System.InvalidCastException'Conversion from string "فيصل الاحمد" to type 'Long' is not valid.' 


علما ان التعديل كان على رقم الوظيفه وليس الاسم
والحقل المذكور بالخطأ  انا معطيه نص وليس رقم  . تعريفه بالقاعده نص.. وهنا بالكود @emp_name", OleDbType.VarWChar

اتمنى  الافادة منكم يا ساده .. ولكم جزيل الشكر
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام...

الخطأ: يتم استقبال الأرقام الطويلة فقط!

           مثال/ 100000000

           أما القيمة المدخلة فهي من نوع "نص".



ملحوظة: لا يمكن ادخال "نص" مكان (رقم).



الحل:-

يتم تحويل من: ByVal IDW AS Long

                   إلى: ByVal IDW AS String

*إذا كان التحديث بناءً على "الاسم" أما لو رقم فراجع ترتيب الحقول.



من: .Parameters.AddWithValue("@ID", OleDbType.Integer ).Value = IDW
إلى: .Parameters.AddWithValue("@ID", OleDbType.String).Value = IDW





وإن بقيت نفس المشكلة ولم تستطيع حلها يمكنك مراسلتي أو إخبارنا هنا, دمتم بخير.
المبرمج لا يفكر في المشكلة بل في الحل!!
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل على فاتورة مبيعات خالد كامل1 4 69 26-03-24, 10:49 PM
آخر رد: خالد كامل1
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 83 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  تعديل كود ارسال صورة الى الواتس new_programer 2 114 21-03-24, 10:07 PM
آخر رد: new_programer
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 601 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  تعديل صب المجموع الكلي والمعدل والتقدير مصمم هاوي 3 131 19-03-24, 01:33 AM
آخر رد: مصمم هاوي
  استعلام select عن مجموعة بيانات Adel27213 1 172 15-03-24, 01:11 AM
آخر رد: justforit
  تعديل طول حقل معين في جميع جداول القاعدة atefkhalf2004 1 97 09-03-24, 03:17 AM
آخر رد: atefkhalf2004
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 164 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  [VB.NET] تحديث بيانات فى كلاس من جدول سيكوال asdfar1977 6 184 26-02-24, 01:07 AM
آخر رد: asdfar1977
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 225 25-02-24, 11:26 PM
آخر رد: heem1986

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم