السلام عليكم
لدي مشكله ف التحقق
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
21-07-20, 08:48 PM (آخر تعديل لهذه المشاركة : 21-07-20, 08:49 PM {2} بواسطة ابراهيم ايبو.)
السلام عليكم ورحمة الله وبركاته
اختي الكريمة اعتقد انك تتحققين من قيمة حقل الصورة ان كانت فارغة لسجل المطلوب التحقق من وجوده
لكن انت تضعين رقم السجل 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 غير معرفه
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
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
21-07-20, 10:16 PM (آخر تعديل لهذه المشاركة : 21-07-20, 10:26 PM {2} بواسطة 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()))
(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(مربع نص يحوي رقم))
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
22-07-20, 03:39 PM (آخر تعديل لهذه المشاركة : 22-07-20, 03:57 PM {2} بواسطة ابراهيم ايبو.)
السلام عليكم ورحمة الله وبركاته
اختي الكريمة اعذريني على الكود الذي لايحل مشكلتك والسبب انه كان لدي مشكلة عائلية ولم اركز في ماتريدين ولم اتحقق من سلامة الكود و لم انتبه ايضا الى نوع قاعدة البيانات انها sql Server حيث استخدمت oledb وانا اعتذر عن الخطأ اولا بالنسبة للتحقق من وجود سجل قبل الحفظ فقط يكفي ان نعلم بعدم وجوده في الجدول ولسنا بحاجة لجلب محتوياته وان كان موجودا نخرج من الصب وان كان غير موجود نكمل جملة الحفظ بهذا الشكل فقط
كود :
Try
Dim Cmd As New SqlCommand("select * from Sader1 where id_esaryS = " & id_esaryS, cn)
Con.Open()
Dim dr As SqlDataReader = Cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
MsgBox("هذا السجل غير موجود")
Exit Sub
Else
' كود الحفظ
End If
Con.Close()
Catch ex As Exception
End Try
اما اذا كنا نريد البحث عن هذا السجل فهذا اجراء مستقل لسنا بحاجة اليه قبل الحفظ سيتم فيه البحث وعرض النتيجة على الدتاغرايد فيو
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات