تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود حفظ الصورة والبياانات في قاعده البيانات
#11
السلام عليكم 
لدي مشكله ف التحقق 
        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 يعطي ف خطا عند تنفيذ
الرد }}}
تم الشكر بواسطة:
#12
السلام عليكم ورحمة الله وبركاته
اختي الكريمة اعتقد انك تتحققين من قيمة حقل الصورة ان كانت فارغة لسجل المطلوب التحقق من وجوده 
لكن انت تضعين رقم السجل 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, "تنبيه")
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#13
(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 غير معرفه
الرد }}}
تم الشكر بواسطة:
#14
اختي الكريمة 
جربي الكود بهذا الشكل  
كود :
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
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , WaeLx , WaeLx
#15
(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()))


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#16
اختي الخطأ في عملية التحويل للقيمة الفارغة 
اليك الكود وان شاء الله سيعمل
كود :
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(مربع نص يحوي رقم))
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#17
السلام عليكم ورحمة الله وبركاته

اختي الكريمة اعذريني على الكود الذي لايحل مشكلتك والسبب انه كان  لدي مشكلة عائلية ولم اركز في ماتريدين ولم اتحقق من سلامة الكود و لم انتبه ايضا الى نوع قاعدة البيانات انها 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


اما اذا كنا نريد البحث عن هذا السجل فهذا  اجراء مستقل لسنا بحاجة اليه قبل الحفظ سيتم فيه البحث وعرض النتيجة على الدتاغرايد فيو
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#18
اخي ابراهيم ايبو جزاك الله كل خير
اريد ان أسال ف كود الحفظ عندي جدول اخر وهوا 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)
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 829 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 796 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,244 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,025 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  مشكلة في جلب الصورة في التقرير مصمم هاوي 12 1,234 06-06-25, 03:00 PM
آخر رد: atefkhalf2004
  بطء في جلب البيانات مصمم هاوي 9 1,002 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  تعديل كود تحديث البيانات مصمم هاوي 1 784 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 697 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 662 24-04-25, 12:58 PM
آخر رد: foad8920
  إغلاق الفورم مع حذف جميع البيانات الموجودة به صالح عبدالله 10 1,041 19-04-25, 08:54 PM
آخر رد: Kamil

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


يقوم بقرائة الموضوع: