منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ (/showthread.php?tid=8504)

الصفحات: 1 2


أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - أم عبد العزيز - 16-04-13

السلام عليكم ورحمة الله وبركاته



عملت برنامج يقوم بحفظ الصورة من الجهاز إلى قاعدة البيانات sql ، وقد نجح بحمد الله الحفظ إلى الجدول


والآن أريد استدعاء الصورة من قاعدة البينات (يعني في عملية البحث عن البيانات ،


وهذه هي الأكواد التي استخدمتها لذلك (إلا أنها لم تنجح طريقة الاستدعاء)




كود الإجراء:


كود :
ALTER PROCEDURE pc_image
(
@ID_file int,
@photo image output
)

AS

SELECT         @ID_file= ID_file , @photo=photo
FROM            full_data
where ID_file= @ID_file


RETURN




كود تحت الزر استخراج الصورة أو البحث عن الصورة بدلالة رقم الملف:


كود :
Try
            con2.Open()

            com_image.Parameters("@ID_file").Value = TextBox1.Text




com_image.ExecuteScalar()


            Dim picture As Image = Nothing
            Dim bytee = CType(com_image.Parameters("@Statuse_photo").Value, Byte())
            Dim stream As New IO.MemoryStream(bytee)
            picture = Image.FromStream(stream)
            PictureBox1.Image = picture


        Catch ex As Exception
        Finally
            con2.Close()

        End Try




وضعت طبعا عنصر image في النموذج لعرض الصورة وtextbox لإدخال رقم الملف.


أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - Sajad - 16-04-13

السلام عليكم

يرجى رفع المثال للتعديل عليه


أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - أم عبد العزيز - 16-04-13

جزاكم الله خيرا

مع المرفقات
[ATTACH]2427[/ATTACH][ATTACH]2427[/ATTACH]


أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - Sajad - 16-04-13

السلام عليكم

اختي العزيزة اين قاعدة البيانات؟




أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - Sajad - 16-04-13

السلام عليكم

اختي استبدلي كود عرض الصورة بهذا الكود:

PHP كود :
PictureBox1.Image Image.FromStream(New MemoryStream(DirectCast(com_image.Parameters("@Statuse_photo").ValueByte()))) 

لكن لم اجرب الكود اسف لذلك



أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - أم عبد العزيز - 16-04-13

لا أعرف كيف أنسخ قاعدة البيانات ..

جربت الكود ، فأظهر لي خطأ في كلمة MemoryStream فأضفت لها عبارة : IO. لتصبح : IO.MemoryStream

ولكن لم تظهر الصورة ..

هل المشكلة في الصور المدخلة إلى قاعدة البيانات ؟

يعني طريقة حفظ الصور ؟

في قاعدة البينات بعد أن أضيف الصورة ، يظهر لي حقل باسم : <Binary data>

ولا يكتب أي امتداد أو معلومات عن الصورة، فقط هذه العبارة


أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - Sajad - 16-04-13

السلام عليكم

اختي اجعلي حقل الصورة في قاعدة البيانات (varbinary(Max))

واحتمال هنالك خطأ في الاجراء والله اعلم



أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - أم عبد العزيز - 16-04-13

هذا هو الإجراء


كود :
ALTER PROCEDURE test_image_n


(
@ID_file int,
@Statuse_photo varbinary(Max) output
)

AS



SELECT         @ID_file= ID_file , @Statuse_photo=Statuse_photo
FROM            full_data
where ID_file= @ID_file




    RETURN


لكن كيف أتأكد من أن الصور التي تم اختيارها من الجهاز دخلت إلى القاعدة بشكل صحيح ؟

ملاحظة: عندما أطلب عرض الصورة مع عرض قيم أخرى لا يعمل الإجراء أبدا ، وعندما ألغي بارامتر الصورة من الإجراء يعمل عرض البيانات بشكل صحيح ، ما عدا الصورة طبعا

يعني أن هناك خطأ في الإجراء والله أعلم


أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - حريف برمجة - 16-04-13

كود :
بناء على الإجراء المخزن المكتوب

CREATE PROCEDURE pc_image
@ID_file int,@photo image

AS

begin

select ID_file,photo from full_data where ID_file = @ID_file

end
GO


هذا الكود

Dim com_image As New SqlCommand("pc_image", con2)
        com_image.CommandType = CommandType.StoredProcedure

        com_image.Parameters.AddWithValue("@ID_file", TextBox1.Text)
        com_image.Parameters.Add("@Photo", SqlDbType.Image).Value = DBNull.Value

        con2.Open()
        Dim dr As SqlDataReader = com_image.ExecuteReader
        If dr.Read = True Then
            TextBox1.Text = dr!ID_file

            Dim byimg() As Byte = dr!photo
            Dim stimg As New System.IO.MemoryStream(byimg)
            PictureBox1.Image = Image.FromStream(stimg)

        Else
            MsgBox("السجل غير موجود")
        End If
        dr.Close()
        com_image.Dispose()
        con2.Close()



أين الخطأ في طريقة عرض الصورة من قاعدة البيانات sql ؟ - سعود - 16-04-13



#18