تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
رسالة خطأ عند استعراض البيانات
#1
السلام عليكم ورحمةالله وبركاته


تظهر رسالة خطأ في البرنامج عند استدعاء البيانات من قاعدة البيانات لاظهارها على مربع النص
ال TextBox
ومن ضمن هذه البيانات اداة الصورة PictureBox

هنا المشكلة في اظهار الصورة من قاعدة البيانات الي اداة الصورة

وهذا نص الكود

كود :
Using MYDataAdapter As New OleDbDataAdapter("SELECT * FROM tblCommunity " & MYFilter & "", Con)
               Call MYDataAdapter.Fill(DataSet3, "tblCommunity")
               If Me.BindingContext(DataSet3, "tblCommunity").Count <> 0 Then
                   Call MYDataAdapter.Fill(DataSet3, "CommunityTable")
                   For i = 0 To DataSet3.Tables(0).Rows.Count - 1
                       txtID.Text = DataSet3.Tables(0).Rows(i)("ID")
                       txtHeadComm.Text = DataSet3.Tables(0).Rows(i)("HeadComm")
                       txtIDHead.Text = DataSet3.Tables(0).Rows(i)("IDHead")
                       txtMobHead.Text = DataSet3.Tables(0).Rows(i)("MobHead")
                       txtNaHead.Text = DataSet3.Tables(0).Rows(i)("NaHead")
                       txtAddrHead.Text = DataSet3.Tables(0).Rows(i)("AddrHead")
                       txtNotesHead.Text = DataSet3.Tables(0).Rows(i)("NotesHead")
                       txtAssHead.Text = DataSet3.Tables(0).Rows(i)("AssHead")
                       txtIDAssHead.Text = DataSet3.Tables(0).Rows(i)("IDAssHead")

                       txtMobAssHe.Text = DataSet3.Tables(0).Rows(i)("MobAssHe")
                       txtNaAssHe.Text = DataSet3.Tables(0).Rows(i)("NaAssHe")
                       txtAddAssHe.Text = DataSet3.Tables(0).Rows(i)("AddAssHe")
                       txtNotesAssHe.Text = DataSet3.Tables(0).Rows(i)("NotesAssHe")
                       txtAddressComm.Text = DataSet3.Tables(0).Rows(i)("AddressComm")
                       txtCommCensus.Text = DataSet3.Tables(0).Rows(i)("CommCensus")
                       RTBMPA.Text = DataSet3.Tables(0).Rows(i)("MPA")
                       PBImageHead.Image = DataSet3.Tables(0).Rows(i)("ImageHead")
                   Next
        ENF IF
END USING


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#2
PHP كود :
PBImageHead.Image Image.FromStream(New IO.MemoryStream(DataSet3.Tables(0).Rows(i)("ImageHead"))) 
الرد
تم الشكر بواسطة: aftfm , aftfm
#3
(18-10-17, 06:24 PM)aftfm كتب : السلام عليكم ورحمةالله وبركاته


تظهر رسالة خطأ في البرنامج عند استدعاء البيانات من قاعدة البيانات لاظهارها على مربع النص
ال TextBox
ومن ضمن هذه البيانات اداة الصورة PictureBox

هنا المشكلة في اظهار الصورة من قاعدة البيانات الي اداة الصورة

وهذا نص الكود

كود :
Using MYDataAdapter As New OleDbDataAdapter("SELECT * FROM tblCommunity " & MYFilter & "", Con)
               Call MYDataAdapter.Fill(DataSet3, "tblCommunity")
               If Me.BindingContext(DataSet3, "tblCommunity").Count <> 0 Then
                   Call MYDataAdapter.Fill(DataSet3, "CommunityTable")
                   For i = 0 To DataSet3.Tables(0).Rows.Count - 1
                       txtID.Text = DataSet3.Tables(0).Rows(i)("ID")
                       txtHeadComm.Text = DataSet3.Tables(0).Rows(i)("HeadComm")
                       txtIDHead.Text = DataSet3.Tables(0).Rows(i)("IDHead")
                       txtMobHead.Text = DataSet3.Tables(0).Rows(i)("MobHead")
                       txtNaHead.Text = DataSet3.Tables(0).Rows(i)("NaHead")
                       txtAddrHead.Text = DataSet3.Tables(0).Rows(i)("AddrHead")
                       txtNotesHead.Text = DataSet3.Tables(0).Rows(i)("NotesHead")
                       txtAssHead.Text = DataSet3.Tables(0).Rows(i)("AssHead")
                       txtIDAssHead.Text = DataSet3.Tables(0).Rows(i)("IDAssHead")

                       txtMobAssHe.Text = DataSet3.Tables(0).Rows(i)("MobAssHe")
                       txtNaAssHe.Text = DataSet3.Tables(0).Rows(i)("NaAssHe")
                       txtAddAssHe.Text = DataSet3.Tables(0).Rows(i)("AddAssHe")
                       txtNotesAssHe.Text = DataSet3.Tables(0).Rows(i)("NotesAssHe")
                       txtAddressComm.Text = DataSet3.Tables(0).Rows(i)("AddressComm")
                       txtCommCensus.Text = DataSet3.Tables(0).Rows(i)("CommCensus")
                       RTBMPA.Text = DataSet3.Tables(0).Rows(i)("MPA")
                       PBImageHead.Image = DataSet3.Tables(0).Rows(i)("ImageHead")
                   Next
        ENF IF
END USING

أستخدم الكود الأتي لعرض البيانات و الصوره :

كود :
' show user data from the database
   Public Sub showcustdata()
       Try
           'فحص الاتصال بقاعدة البيانات
           If SQL.conn.State = ConnectionState.Open Then
               SQL.conn.Close()
           End If
           SQL.conn.Open()
           Dim cmd As New SqlCommand()
           cmd.Connection = SQL.conn

           cmd.CommandText = "select * from customers where cust_id =@cust_id "
           cmd.Parameters.AddWithValue("@cust_id", cust_id_txt.Text)
           Dim dr As SqlDataReader = cmd.ExecuteReader
           While dr.Read
               name_txt.Text = dr.Item(1)
               nickname_txt.Text = dr.Item(2)
               city_cmb.SelectedItem = dr.Item(3)
               phone1_txt.Text = dr.Item(4)
               phone2_txt.Text = dr.Item(5)
               phone3_txt.Text = dr.Item(6)
               email_txt.Text = dr.Item(7)
               Datepicker1.Value = dr.Item(9)
           End While

           show_image()

           dr.Close()
           SQL.conn.Close()

       Catch ex As SqlException
           MsgBox(ex.Message, MsgBoxStyle.Critical, "SQL Error")
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
       End Try
   End Sub

   '++++++++++++++++++++++++++++++++++++++ SHOW IMAGE ++++++++++++++++++++++++++++++++'
   Private Function ImageToStream(ByVal fileName As String) As Byte()
       Dim stream As New MemoryStream()
tryagain:
       Try
           Dim image As New Bitmap(fileName)
           image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg)
       Catch ex As Exception
           GoTo tryagain
       End Try

       Return stream.ToArray()
   End Function

   Private Sub show_image()
       Dim dr As SqlDataReader
       Dim cmd As SqlCommand
       Dim stream As New MemoryStream()
       Dim query As String
       query = "select * from customers where cust_id=" & cust_id_txt.Text
       'فحص الاتصال بقاعدة البيانات
       If SQL.conn.State = ConnectionState.Open Then
           SQL.conn.Close()
       End If
       SQL.conn.Open()
       cmd = New SqlCommand(query, SQL.conn)
       'dr = Cmd.ExecuteReader
       dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
       While dr.Read
           If dr("image").ToString() <> "" Then
               Dim image As [Byte]() = DirectCast(dr("image"), [Byte]())
               stream.Write(image, 0, image.Length)
               Dim bitmap As New Bitmap(stream)
               'PictureBox1.Image = bitmap
               SetPicture(bitmap, PictureBox1)
           End If
       End While
   End Sub

   Private Sub SetPicture(ByVal imgSrc As Bitmap, ByVal target As PictureBox)
       Dim imgDest As Bitmap = New Bitmap(target.ClientSize.Width, target.ClientSize.Height)
       Dim source_aspect, dest_aspect, k_aspect, K As Double
       source_aspect = imgSrc.Width / imgSrc.Height
       dest_aspect = imgDest.Width / imgSrc.Height
       k_aspect = dest_aspect / source_aspect
       If (k_aspect > 1) Then
           K = imgSrc.Height / imgDest.Height
       Else
           K = imgSrc.Width / imgDest.Width
       End If
       Dim x_new, y_new, w_new, h_new As Integer
       w_new = CInt(imgSrc.Width / K)
       h_new = CInt(imgSrc.Height / K)
       x_new = CInt(imgDest.Width / 2 - w_new / 2)
       y_new = CInt(imgDest.Height / 2 - h_new / 2)
       Dim g As Graphics = Graphics.FromImage(imgDest)
       g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
       g.DrawImage(imgSrc, New Rectangle(x_new, y_new, w_new, h_new))
       g.Dispose()
       target.Image = imgDest
   End Sub

يظهر هذا الخطا لانك تقوم بتخزين الطوره على شكل بايت 
و انت تحاول عرضها بدون تحويل البايت الى صوره .
الرد
تم الشكر بواسطة: aftfm


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  عرض البيانات بشكل عمودي في DataGridView ابراهيم ايبو 2 84 أمس, 02:29 PM
آخر رد: 5000
  عرض البيانات فى الداتا جريد فيو بكمة محددة مثل من 1الى 10 ثم استدعاء مايالية10الى 20 sherf 1 73 16-03-19, 05:17 PM
آخر رد: 5000
  قاعدة البيانات سكوال سرفر محمد خيري 3 135 16-03-19, 04:22 AM
آخر رد: asemshahen5
  [VB.NET] فتح جدول موجود ضمن قاعدة البيانات EMADMW17 7 164 12-03-19, 08:05 PM
آخر رد: elgokr
  [سؤال] حفظ قيمة DateTimePicker فارغة فى قاعدة البيانات mr_hso 4 163 11-03-19, 12:24 PM
آخر رد: mr_hso
  تعديل على كود عرض البيانات مع ايقونة التحميل new_programer 0 83 09-03-19, 05:57 AM
آخر رد: new_programer
Exclamation [VB.NET] اصطياد رسالة الخطأ دون يتوقف البرنامج sniperjawadino 7 220 07-03-19, 09:28 PM
آخر رد: elgokr
  استدعاء البيانات وتعبئتها داخل أعمدة الداتاقريدفيو نور الهدى الهدى 10 223 28-02-19, 11:35 PM
آخر رد: أبوبكر سويدان
  تصدير البيانات الى ملف اكسل ابراهيم ايبو 3 125 23-02-19, 10:59 PM
آخر رد: asemshahen5
  [VB.NET] قاعده البيانات لاتقوم بالحفظ من اول امر jassim316 4 136 22-02-19, 08:01 PM
آخر رد: elgokr

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


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