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



عملت برنامج يقوم بحفظ الصورة من الجهاز إلى قاعدة البيانات 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 لإدخال رقم الملف.
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم

يرجى رفع المثال للتعديل عليه
الرد }}}
تم الشكر بواسطة:
#3
جزاكم الله خيرا

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


الملفات المرفقة
.rar   mm.rar (الحجم : 1.01 م ب / التحميلات : 63)
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم

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

الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم

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

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

لكن لم اجرب الكود اسف لذلك
الرد }}}
تم الشكر بواسطة:
#6
لا أعرف كيف أنسخ قاعدة البيانات ..

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

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

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

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

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

ولا يكتب أي امتداد أو معلومات عن الصورة، فقط هذه العبارة
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم

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

واحتمال هنالك خطأ في الاجراء والله اعلم
الرد }}}
تم الشكر بواسطة:
#8
هذا هو الإجراء


كود :
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


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

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

يعني أن هناك خطأ في الإجراء والله أعلم
الرد }}}
تم الشكر بواسطة:
#9
كود :
بناء على الإجراء المخزن المكتوب

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()
الرد }}}
تم الشكر بواسطة:
#10


#18
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:



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


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