منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
أين الخطأ في طريقة عرض الصورة من قاعدة البيانات 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 ؟ - أم عبد العزيز - 17-04-13

وضعت مع المرفقات صفحة إضافة الصورة + صفحة عرض الصورة + قاعدة البيانات

جربت الطرق المذكورة في الأعلى ،

لا يظهر لي خطأ في الكود ولكن أيضا لا تظهر الصورة عند طلب عرضها

أتمنى الاطلاع على المرفقات

وشكرا

[ATTACH]2428[/ATTACH][ATTACH]2429[/ATTACH]


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

للرفع

اتمنى من الخبراء الاطلاع على المرفقات الاخيرة ، وقراءة اكواد اضافة الصورة وعرض الصورة

استعمل نسخة sql 2008
و vb 2008


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

السلام عليكم

اختي العزيز لا يوجد في الملف المثال ولا قاعدة البيانات

يرجى مراجعة الملف ورفعه من جديد



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

يوجد في الملف mm.rar
وليس back


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

مرحبا اختي ام عبدالعزيز

شاهدت مثالك ولم افهمه لتشعبه ...

هذا مثال عملته اليوم حفظ الرقم والاسم والصورة في في جدول في قاعدة البيانات sqlserver 2008

يعمل بجمل اسكيوال في الحفظ والحذف وعرض البيانات وطباعة سجل واحد وجميع السجلات

ايضاً يعمل بالإجراء المخزن لنفس تلك العمليات

اتمنى الاستفاده منه ،،، واي سوال نحن موجودين


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

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

أتمنى أن تكتب لي أكوادك التي استخدمتها هنا

لأن البرنامج لم يفتح معي


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

استطعت فتح الملفات ، ولكن البرنامج لم يتعرف على الصنف : Microsoft.Reporting.WinForms.ReportViewer

كما أني لم أستطع فهم الأكواد ..

سأكتب أكوادي التي استعملتها هنا ، وأتمنى من فضلكم إخباري إن كانت صحيحة أم لا ، سواء في إدخال الصورة أم في عرضها .

1- فورم إدخال الصورة :

أولا : الجدول في السيكوال tabel1:
ID int
img image

ثانيا: البروسيجر للإضافة:
كود :
create procedure add_image

(

@id int,
@Statuse_photo image
)

AS
insert into tabale1 (ID,img)
values (@ID, @img)

RETURN


ثالثا : الكود في البرنامج:
(بإضافة مربع صورة ، ومربع حوار لفتح الصورة ، وزر )
تحت زر فتح الملف

كود :
''كود فلترة الملفات التى يمكن تحميلها وهى هنا صور فقط
        OpenFileDialog1.Filter = "JPEG files (*.jpeg)|*.jpg|JPG files (*.jpg)|*.jpg|BITMAP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"
        ''كود فتح أداة إختيار الملفات
        OpenFileDialog1.ShowDialog()


تحت زر حفظ:

كود :
Try

            con1.Open()

   Dim file_path As String
            file_path = txt_file_path.Text

            ''يختبر تحميل صورة من الكمبيوتر
            If txt_file_path.Text.Trim <> "" Then
                ''يقوم بعمل متغير من النوع صورة ويحفظ بداخله الصورة المحملة
                Dim picture As Image = Image.FromFile(file_path)
                ''يقوم بتعريف متغير من نوع ذاكرة
                Dim stream As New IO.MemoryStream
                ''يقوم بحفظ متغير الصورة والذى يحتوى على الصورة داخل متغير الذاكرة
                picture.Save(stream, Imaging.ImageFormat.Jpeg)
                ''تمرير قيمة متغير الذاكرة إلى البارامتر
                com_add.Parameters("@img").Value = stream.GetBuffer()
            End If
       com_add.ExecuteNonQuery()
            MessageBox.Show("تم الحفظ بنجاح")


        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally


            con1.Close()

        End Try



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

ثانيا : عرض الصورة :

كود الإجراء:


كود :
create PROCEDURE view_img
(
@ID int,
@img image output
)

AS

SELECT         @ID= ID, @img=img
FROM           tabel1
where ID= @ID


RETURN




كود تحت الزرعرض:
وضعت عنصر image في النموذج لعرض الصورة وtextbox لإدخال رقم الملف.


كود :
Try
            con2.Open()

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




com_image.ExecuteScalar()


            Dim picture As Image = Nothing
            Dim bytee = CType(com_image.Parameters("@img").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



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

[COLOR="#0000FF"]طبعاً شاشة البرنامج : تكست بوكس 1 يحمل رقم الصورة ، اداة بكشر لعرض الصورة ، زر حفظ ، زر عرض
[/COLOR]

[COLOR="#800080"]الجدول اسمه tp1 الحقول ID int , img image
[/COLOR]
الداتا بيز تنشئيها على السيرفر أو اتاتش .
كود الاتصال على السيرفر :

كود :
Dim con1 As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=Database1;Integrated Security=SSPI;")
كود الاتصال أتاتش :

كود :
Dim con1 As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;Context Connection=False")

[COLOR="#0000FF"]البروسيجر للإضافة يكون كالتالي :
[/COLOR]
كود :
[color=#FF0000]Create [/color]procedure add_imagenew
(@ID int,@img image)
AS
insert into tp1 (ID,img)
values (@ID, @img)
RETURN
مع ملاحظه لو البروسيجر موجود مسبقاً يجب تغيير اللي باللون الأحمر إلى (Alter) اي تعديل وليس انشاء جديد لأنه لا يقبل انشاءه وهو موجود اصلاً


[COLOR="#0000FF"]زر فتح الصورة وعرضها في الأداة :
[/COLOR]
كود :
''كود فلترة الملفات التى يمكن تحميلها وهى هنا صور فقط
        OpenFileDialog1.Filter = "JPEG files (*.jpeg)|*.jpg|JPG files (*.jpg)|*.jpg|BITMAP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"
        ''كود فتح أداة إختيار الملفات
        OpenFileDialog1.ShowDialog()
        PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
[COLOR="#0000FF"]زر الحفظ يكون كالتالي :
[/COLOR]
كود :
con1.Open()
        Dim cmd_add As New SqlCommand("add_imagenew", con1)
        cmd_add.CommandType = CommandType.StoredProcedure

        cmd_add.Parameters.AddWithValue("@ID", TextBox1.Text)
        cmd_add.Parameters.Add("@img", SqlDbType.Image).Value = DBNull.Value

        Dim ms As New System.IO.MemoryStream
        PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
        Dim rawdata() As Byte = ms.GetBuffer

        cmd_add.Parameters.Clear()

        cmd_add.Parameters.AddWithValue("@id", TextBox1.Text)
        cmd_add.Parameters.AddWithValue("@img", rawdata)

        cmd_add.ExecuteNonQuery()
        con1.Close()

        MessageBox.Show("تم الحفظ بنجاح")

[COLOR="#0000FF"]بروسيجر عرض الصورة يكون كالتالي :
[/COLOR]
كود :
[color=#FF0000]Create [/color]PROCEDURE showdata
    (
     @ID int ,
    @img image
     )
AS
    select * from tp1 where ID = @ID

RETURN
مع ملاحظه لو البروسيجر موجود مسبقاً يجب تغيير اللي باللون الأحمر إلى (Alter) اي تعديل وليس انشاء جديد لأنه لا يقبل انشاءه وهو موجود اصلاً


[COLOR="#0000FF"]كود عرض الصورة كالتالي :
[/COLOR]
كود :
Dim cmd_add As New SqlCommand("showdata", con1)
        cmd_add.CommandType = CommandType.StoredProcedure

        cmd_add.Parameters.AddWithValue("@id", TextBox1.Text)
        cmd_add.Parameters.Add("@img", SqlDbType.Image).Value = DBNull.Value

        con1.Open()

        Dim dr As SqlDataReader = cmd_add.ExecuteReader
        If dr.Read = True Then

            TextBox1.Text = dr!ID

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

        Else
            MsgBox("السجل غير موجود")

        End If
        dr.Close()
        cmd_add.Dispose()
        con1.Close()



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

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

تم العمل بحمد الله