تقييم الموضوع :
  • 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





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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  لماذا البرنامج يتوقف بدل عرض رسالة الخطأ justforit 0 104 07-12-25, 10:22 AM
آخر رد: justforit
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 215 08-10-25, 02:20 PM
آخر رد: salamandal
  سبب تكرار رسالة التنبيه مصمم هاوي 4 431 03-05-25, 02:05 PM
آخر رد: مصمم هاوي
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,479 29-04-25, 08:55 PM
آخر رد: mmaalmesry
  تعديل كود تحديث البيانات مصمم هاوي 1 788 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
  ارسال رسالة الى تطبيق واتساب nabil.1710 6 3,693 26-04-25, 11:21 AM
آخر رد: hamedi2727
  [سؤال] كارثة بكل المقاييس: رسالة Out Of Memory dr.programming 5 416 26-04-25, 01:37 AM
آخر رد: princelovelorn
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 697 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 663 24-04-25, 12:58 PM
آخر رد: foad8920
  تعديل على استدعاء الدرجات حسب الاختيار مصمم هاوي 11 1,010 15-04-25, 06:16 PM
آخر رد: princelovelorn

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


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