السلام عليكم
لدي مشكله ف التحقق
If Not IsDBNull(dr(11)) Then
'PictureBox1.image
Dim Pictur() As Byte = (CType(dr(11), Byte()))
Dim ms As New MemoryStream(Pictur)
PictureBox1.Image = Image.FromStream(ms)
Else
MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه")
End If
مشكله في IsDBNull يعطي ف خطا عند تنفيذ
السلام عليكم ورحمة الله وبركاته
اختي الكريمة اعتقد انك تتحققين من قيمة حقل الصورة ان كانت فارغة لسجل المطلوب التحقق من وجوده
لكن انت تضعين رقم السجل 11 وهو غير موجود وفي العادة عندما يتم التحقق من سجل يجب ان تظهر نتيجة واحدة اي سجل واحد
ويكون رقمه(اندكس) صفر ولهذا السجل حقول (item )منها حقل الصورة لااعلم ان كان 11 .... انت تعرفين والعد يبدأ من الصفر
غيري الكود الى التالي وان شاء الله يكون صح :
كود :
If Not IsDBNull(dr(0)(11).Value) Then
'PictureBox1.image
Dim Pictur() As Byte = (CType(dr((0)(11).Value), Byte()))
Dim ms As New MemoryStream(Pictur)
PictureBox1.Image = Image.FromStream(ms)
Else
MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه")
(21-07-20, 08:48 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
اختي الكريمة اعتقد انك تتحققين من قيمة حقل الصورة ان كانت فارغة لسجل المطلوب التحقق من وجوده
لكن انت تضعين رقم السجل 11 وهو غير موجود وفي العادة عندما يتم التحقق من سجل يجب ان تظهر نتيجة واحدة اي سجل واحد
ويكون رقمه(اندكس) صفر ولهذا السجل حقول (item )منها حقل الصورة لااعلم ان كان 11 .... انت تعرفين والعد يبدأ من الصفر
غيري الكود الى التالي وان شاء الله يكون صح :
كود :
If Not IsDBNull(dr(0)(11).Value) Then
'PictureBox1.image
Dim Pictur() As Byte = (CType(dr((0)(11).Value), Byte()))
Dim ms As New MemoryStream(Pictur)
PictureBox1.Image = Image.FromStream(ms)
Else
MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه")
اخي الكريم عند التشغيل يعطي نفس الخطا
Dim cmd As New SqlCommand
Sub selectSader1(id_esaryS)
cmd = New SqlCommand("select * from Sader1 where id_esaryS = " & id_esaryS, cn)
cn.Open()
Dim dr As SqlDataReader
dr = cmd.ExecuteReader
'dr.Read()
While dr.Read
Me.id_esaryS.Text = dr.Item("id_esaryS")
Me.date_MasgS.Value = dr.Item("date_MasgS")
Me.Mostalem.Text = dr.Item("Mostalem")
Me.sefa.Text = dr.Item("sefa")
Me.namberphon.Text = dr.Item("namberphon")
Me.websait.Text = dr.Item("websait")
Me.morfagatS.Text = dr.Item("morfagatS")
Me.Sader_ela.Text = dr.Item("Sader_ela")
Me.Sader_men.Text = dr.Item("Sader_men")
Me.mawdo_MasgS.Text = dr.Item("mawdo_MasgS")
Me.note.Text = dr.Item("note")
End While
If Not IsDBNull(dr(0)(11).Value) Then
'PictureBox1.image
Dim Pictur() As Byte = (CType(dr((0)(11).Value), Byte()))
Dim ms As New MemoryStream(Pictur)
PictureBox1.Image = Image.FromStream(ms)
Else
MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه")
End If
cn.Open()
dr.Close()
End Sub
اي كانه IsDBNull غير معرفه
(21-07-20, 09:51 PM)ابراهيم ايبو كتب : [ -> ]اختي الكريمة
جربي الكود بهذا الشكل
كود :
Public Sub selectSader1(id_esaryS As Integer)
Dim dts As New DataTable
Dim Cmd As New OleDbCommand()
Try
dts.Clear()
Cmd = New OleDbCommand("select * from Sader1 where id_esaryS = " & id_esaryS, cn)
Con.Open()
dts.Load(Cmd.ExecuteReader)
If dts.Rows.Count > 0 Then
Me.id_esaryS.Text = dts.Rows(0)("id_esaryS").value
Me.date_MasgS.Value = dts.Rows(0)("date_MasgS").value
Me.Mostalem.Text = dts.Rows(0)("Mostalem").value
Me.sefa.Text = dts.Rows(0)("sefa").value
Me.namberphon.Text = dts.Rows(0)("namberphon").value
Me.websait.Text = dts.Rows(0)("websait").value
Me.morfagatS.Text = dts.Rows(0)("morfagatS").value
Me.Sader_ela.Text = dts.Rows(0)("Sader_ela").value
Me.Sader_men.Text = dts.Rows(0)("Sader_men").value
Me.mawdo_MasgS.Text = dts.Rows(0)("mawdo_MasgS").value
Me.note.Text = dts.Rows(0)("note").value
If Not IsDBNull(dts.Rows(0)(11).Value) Then
Dim Pictur() As Byte = (CType(dts.Rows((0)(11).Value), Byte()))
Dim ms As New MemoryStream(Pictur)
Me.PictureBox1.Image = Image.FromStream(ms)
Else
MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه")
Me.PictureBox1.Image = Nothing
End If
Else
MsgBox("هذا السجل غير موجود", MsgBoxStyle.Exclamation, "تنبيه")
End If
Con.Close()
Catch ex As Exception
Messagebox.show(ex.Message, "Alert", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub
اخي الكريم يعطي خطا في جمله في IsDBNull تحتها خط كانها مش معرفه
If Not IsDBNull(dts.Rows(0)(11).Value) Then
و في ((0) كذلك
Dim Pictur() As Byte = (CType(dts.Rows((0)(11).Value), Byte()))
(21-07-20, 10:16 PM)khowla.goma كتب : [ -> ] (21-07-20, 09:51 PM)ابراهيم ايبو كتب : [ -> ]اختي الكريمة
جربي الكود بهذا الشكل
كود :
Public Sub selectSader1(id_esaryS As Integer)
Dim dts As New DataTable
Dim Cmd As New OleDbCommand()
Try
dts.Clear()
Cmd = New OleDbCommand("select * from Sader1 where id_esaryS = " & id_esaryS, cn)
Con.Open()
dts.Load(Cmd.ExecuteReader)
If dts.Rows.Count > 0 Then
Me.id_esaryS.Text = dts.Rows(0)("id_esaryS").value
Me.date_MasgS.Value = dts.Rows(0)("date_MasgS").value
Me.Mostalem.Text = dts.Rows(0)("Mostalem").value
Me.sefa.Text = dts.Rows(0)("sefa").value
Me.namberphon.Text = dts.Rows(0)("namberphon").value
Me.websait.Text = dts.Rows(0)("websait").value
Me.morfagatS.Text = dts.Rows(0)("morfagatS").value
Me.Sader_ela.Text = dts.Rows(0)("Sader_ela").value
Me.Sader_men.Text = dts.Rows(0)("Sader_men").value
Me.mawdo_MasgS.Text = dts.Rows(0)("mawdo_MasgS").value
Me.note.Text = dts.Rows(0)("note").value
If Not IsDBNull(dts.Rows(0)(11).Value) Then
Dim Pictur() As Byte = (CType(dts.Rows((0)(11).Value), Byte()))
Dim ms As New MemoryStream(Pictur)
Me.PictureBox1.Image = Image.FromStream(ms)
Else
MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه")
Me.PictureBox1.Image = Nothing
End If
Else
MsgBox("هذا السجل غير موجود", MsgBoxStyle.Exclamation, "تنبيه")
End If
Con.Close()
Catch ex As Exception
Messagebox.show(ex.Message, "Alert", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
End Sub
اخي الكريم يعطي خطا في جمله في IsDBNull تحتها خط كانها مش معرفه
If Not IsDBNull(dts.Rows(0)(11).Value) Then
و في ((0) كذلك
Dim Pictur() As Byte = (CType(dts.Rows((0)(11).Value), Byte()))
اختي الخطأ في عملية التحويل للقيمة الفارغة
اليك الكود وان شاء الله سيعمل
كود :
Public Sub selectSader1(id_esaryS As Integer)
Dim dts As New DataTable
Dim Cmd As New OleDbCommand()
Try
dts.Clear()
Cmd = New OleDbCommand("select * from Sader1 where id_esaryS = " & id_esaryS, cn)
Con.Open()
dts.Load(Cmd.ExecuteReader)
If dts.Rows.Count > 0 Then
Me.id_esaryS.Text = dts.Rows(0)("id_esaryS").value
Me.date_MasgS.Value = dts.Rows(0)("date_MasgS").value
Me.Mostalem.Text = dts.Rows(0)("Mostalem").value
Me.sefa.Text = dts.Rows(0)("sefa").value
Me.namberphon.Text = dts.Rows(0)("namberphon").value
Me.websait.Text = dts.Rows(0)("websait").value
Me.morfagatS.Text = dts.Rows(0)("morfagatS").value
Me.Sader_ela.Text = dts.Rows(0)("Sader_ela").value
Me.Sader_men.Text = dts.Rows(0)("Sader_men").value
Me.mawdo_MasgS.Text = dts.Rows(0)("mawdo_MasgS").value
Me.note.Text = dts.Rows(0)("note").value
If Not Convert.IsDBNull(dts.Rows(0)(11).Value) Then ' هنا كان الخطأ
Dim Pictur() As Byte = (CType(dts.Rows((0)(11).Value), Byte()))
Dim ms As New MemoryStream(Pictur)
Me.PictureBox1.Image = Image.FromStream(ms)
Else
MsgBox("لاتوجد صورة ", MsgBoxStyle.Exclamation, "تنبيه")
Me.PictureBox1.Image = Nothing
End If
Else
MsgBox("هذا السجل غير موجود", MsgBoxStyle.Exclamation, "تنبيه")
End If
Con.Close()
Catch ex As Exception
End Try
End Sub
ولاستخدامه ننادي على الصب ونرسل له رقم الاي دي لان التحقق سيكون بحقل الاي دي وان اردت التحقق بحقل أخر ان كان نص ستغيري الباراميتر في الصب من رقمي الى نصي
كود :
selectSader1(Val(مربع نص يحوي رقم))
اخي ابراهيم ايبو جزاك الله كل خير
اريد ان أسال ف كود الحفظ عندي جدول اخر وهوا wared1 يعطي نفس اخطاء جدول sader1 سابقا مع اني عدلت فيه البارمترات مايناسب
Dim Cmd As New SqlCommand()
Dim Pictur() As Byte
Dim Ms As New MemoryStream()
PictureBox2.Image.Save(Ms, PictureBox2.Image.RawFormat)
Pictur = Ms.ToArray()
Cmd = New SqlCommand("insert into Wared1(id_esary, mawdo_Masg,esaryMasgWard,date_Masg,date_waredEstelamMasg,wared_men,wared_ela,morfagat,maktebMOstalem,date_Estelam,note,PicturW)Values(@id_esary,@ mawdo_Masg,@esaryMasgWard,@date_Masg,@date_waredEstelamMasg,@wared_men,@wared_ela,@morfagat,@maktebMOstalem,@date_Estelam,@note,@PicturW)", cn)
Cmd.Parameters.Add(New SqlParameter("@id_esary", SqlDbType.Int)).Value = CInt(id_esary.Text)
Cmd.Parameters.Add(New SqlParameter("@mawdo_Masg", SqlDbType.NVarChar, 50)).Value = mawdo_Masg.Text
Cmd.Parameters.Add(New SqlParameter("@esaryMasgWard", SqlDbType.NVarChar, 50)).Value = esaryMasgWard.Text
Cmd.Parameters.Add(New SqlParameter("@date_Masg", SqlDbType.Date)).Value = date_Masg.Value.ToString("dd-MM-yyyy")
Cmd.Parameters.Add(New SqlParameter("@date_waredEstelamMasg", SqlDbType.NVarChar, 50)).Value = date_waredEstelamMasg.Text
Cmd.Parameters.Add(New SqlParameter("@wared_men", SqlDbType.NVarChar, 50)).Value = wared_men.Text
Cmd.Parameters.Add(New SqlParameter("@wared_ela", SqlDbType.NVarChar, 50)).Value = wared_ela.Text
Cmd.Parameters.Add(New SqlParameter("@morfagat", SqlDbType.NVarChar, 50)).Value = morfagat.Text
Cmd.Parameters.Add(New SqlParameter("@maktebMOstalem", SqlDbType.NVarChar, 50)).Value = maktebMOstalem.Text
Cmd.Parameters.Add(New SqlParameter("@date_Estelam", SqlDbType.NVarChar, 50)).Value = date_Estelam.Text
Cmd.Parameters.Add(New SqlParameter("@note", SqlDbType.NVarChar, 50)).Value = note.Text
Cmd.Parameters.Add(New SqlParameter("@PicturW", SqlDbType.Image)).Value = Pictur
If cn.State = ConnectionState.Open Then cn.Close()
cn.Open()
Cmd.ExecuteNonQuery()
cn.Close()
MessageBox.Show("تم حفظ البيانات بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information)