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





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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] عندي مشكلة رسالة موقفة المشروع تماما عمور2016 3 87 , 02:25 PM
آخر رد: عمور2016
  التحكم بالبرنامج ( عند المستخدم ) عن طريق برنامج اخر (تعديل - حذف - اضافه - تغير كود) mohamedallams 1 181 08-08-22, 02:11 PM
آخر رد: mohamedallams
Brick كيفية الإغلاق التام لـقاعدة بيانات SQL أبو خالد الشكري 18 581 03-08-22, 02:11 PM
آخر رد: أبو خالد الشكري
  [سؤال] كيفيه اضافه ملف نصي الي قاعده بيانات اكسس حسن الجلب 1 184 02-08-22, 01:57 AM
آخر رد: سعود
  مش قادر اعمل استيراد لقتعدة بيانات عندى حماده ممدوح البحيرى 2 153 01-08-22, 03:59 PM
آخر رد: aljzazy
  كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net عبدالكريم برشدان 4 305 30-07-22, 01:02 AM
آخر رد: سعود
  [VB.NET] ربط قاعدة البيانات um_noor20 3 190 27-07-22, 11:00 AM
آخر رد: أبو خالد الشكري
  نسخ محتويات جدول الى قاعدة جديدة بنفس الجدول نيمو 1 252 26-07-22, 01:15 PM
آخر رد: نيمو
  كود البحث عن اكبر تاريخ في قاعدة بيانات اكسس hatem555 3 214 25-07-22, 12:11 PM
آخر رد: سعود
  التعامل مع قاعدة بيانات sql عن بعد عبدالكريم برشدان 3 205 25-07-22, 03:49 AM
آخر رد: asemshahen5

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


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