السلام عليكم ورحمة الله
أنا اسف لوضع استفساري هنا لكن كل ما احاول اضيف موضوع يقولي تاكد من تصحيح الاخطاء التاليه للمتابعة ولا ارى اي خطأ ؟
بكل حال اخواني انا عندي قاعدة بيانات على اكسس مربوطة في الفيجوال بيزك 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.'
علما ان التعديل كان على رقم الوظيفه وليس الاسم
اتمنى الافادة منكم يا ساده .. ولكم جزيل الشكر