الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه بهاء صلاح الدين في 26 مايو 2009 · 4 رد · 1,788 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بحثت في موقع codeproject عن طريقة لعرض صورة موجودة في قاعدة بيانات في داتا جريد و وجدت هذه الطريقة التي تعمل معي بكفاءة:

1-أضف أداة داتا جريد الى الصفحة

2-أضف للمشروع ملف من نوع Generic Handler

3-قم بعمل bound للداتا جريد و ذلك بربطها بالجدول الذي به الحقل الخاص بالصور

4-ستظهر جميع حقول الجدول مع عدا حقل الصورة

5-أضف للداتا جريد عمود من نوع Imagefield ثم قم بتعيين خاصية DataImageUrlField الى اسم حقل الصورة

6-قم بتحويل هذا العمود الى TemplatedField

7-في ملف Generic Handler قم بكتابة هذا الكود تحت الحدث public void ProcessRequest (HttpContext context):

SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=In_The_Net;Integrated Security=True");

string sql = "Select Picture from Images where ID=@ImageId";

SqlCommand cmd = new SqlCommand(sql, myConnection);

myConnection.Open();

cmd.Parameters.Add("@ImageId", SqlDbType.Int);

cmd.Parameters[0].Value = Convert.ToInt32(context.Request.QueryString["ID"]);

cmd.Prepare();

SqlDataReader dr;

dr = cmd.ExecuteReader();

while (dr.Read())

{

context.Response.ContentType = "jpeg";

context.Response.BinaryWrite((byte[])dr["Picture"]);

}

myConnection.Close();

8-للأمانة انا لا أفهم السطور الأخيرة من الكود و لا افهم ما هي وظيفة ملف Generic Handler!!! و لكن رغم ذلك فهو يعمل معي بكفاءة

9-في كود HTML الخاص بالداتاجريد اكتب هذا السطر في التاج الخاصة بعمود الصور الذي اضفناه للداتاجريد:

ImageUrl='<%# "Handler.ashx?id=" + Eval("ID") %>'

لاحظ علامات الترقيم الصغيرة و لاتغفل كتابتها

10-سيكون شكل كود HTML الخاص بهذا العمود كالآتي:

<ItemTemplate>

<asp:Image ID="Image1" Width ="90px" Height="70px" runat="server" ImageUrl='<%# "Handler.ashx?id=" + Eval("ID") %>' />

</ItemTemplate>

اتمنى ان اكون قد أفدتكم.......

#2

وظيفة الهاندلر هو أخذ الصورة من قاعدة البيانات على شكل بايناري ثم إخراجها على شكل صورة يمكن للموقع الوصول إليه

#3

بهاء صلاح الدين

لو سمحت تضع المشروع لتعم الفائده

لان الموضوع مهم ويحتاجه الكثير

#4

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

عملت لكم مشروع لتوضيح كيفية عرض الصورة في الداتا جريد .... الملف معاه داتبيز sql اعمله.... attach في sql server 2005

______________________.rar

#5

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

لقد قمت بتعديل الملف حتى يعمل مباشرة

gridview_pics.rar

مواضيع مشابهة