Load کردن تصاویر موجوددر یک جدول از DataBase بر روی فرم

دوشنبه 8 تیر 1394

در این مقاله قصد داریم تصاویر که در DataBase هستند را بر روی Form نمایش دهیم .

ابتدا باید یک DataBase ایجاد کرد و جدولی با نام Pic در آن ایجاد کرده و آن را با آدرسهای تصاویر مورد نظر مقدار دهی کرد :

سپس در رویداد Load فرم اطلاعات دیتا بیس را بخوانید و دریک DataTable قرار دهید :

            	dt.Columns.Add("Id", typeof(int));
	            dt.Columns.Add("FileName", typeof(string));
            cmd.CommandText = "Select * from pic;";
            cmd.Connection = cnc;
            cnc.Open();
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                string id = reader[0].ToString();
                dt.Rows.Add(Convert.ToInt32(id),reader[1].ToString());
            }
            reader.Close();
            cnc.Close();

در رویداد Click ، دکمه کد زیر را قرار دهید :

List<PictureBox> pictureBoxList = new List<PictureBox>();

            for (int i = 0; i <dt.Rows.Count; i++)
            {
                PictureBox picture = new PictureBox
                {
                    Name = "pictureBox" + i,
                    Size = new Size(100, 150),
                    Location = new Point(i * 150, 1),
                    BorderStyle = BorderStyle.FixedSingle,
                    SizeMode = PictureBoxSizeMode.Zoom
                };
                picture.ImageLocation = dt.Rows[i]["FileName"].ToString();
                pictureBoxList.Add(picture);
            }

            foreach (PictureBox p in pictureBoxList)
            {
                flowLayoutPanel1.Controls.Add(p);
            }

کد با در زمان اجرا به تعداد تصاویر موجود در DataBase برروی فرم PictureBox ایجاد کرده و تصویر مورد نظر را درون آن بار گذاری می کند.

تمام کد برنامه :

namespace Imagee_To_List
{
    public partial class Form1 : Form
    {
        SqlConnection cnc = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\ss\documents\visual studio 2010\Projects\Imagee To List\Imagee To List\pic.mdf;Integrated Security=True;User Instance=True");
        SqlCommand cmd = new SqlCommand();
        DataTable dt = new DataTable();
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            List<PictureBox> pictureBoxList = new List<PictureBox>();

            for (int i = 0; i <4; i++)
            {
                PictureBox picture = new PictureBox
                {
                    Name = "pictureBox" + i,
                    Size = new Size(100, 150),
                    Location = new Point(i * 150, 1),
                    BorderStyle = BorderStyle.FixedSingle,
                    SizeMode = PictureBoxSizeMode.Zoom
                };
                picture.ImageLocation = dt.Rows[i]["FileName"].ToString();
                pictureBoxList.Add(picture);
            }

            foreach (PictureBox p in pictureBoxList)
            {
                flowLayoutPanel1.Controls.Add(p);
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            	dt.Columns.Add("Id", typeof(int));
	            dt.Columns.Add("FileName", typeof(string));
            cmd.CommandText = "Select * from pic;";
            cmd.Connection = cnc;
            cnc.Open();
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                string id = reader[0].ToString();
                dt.Rows.Add(Convert.ToInt32(id),reader[1].ToString());
            }
            reader.Close();
            cnc.Close();
        }
    }
}

آموزش سی شارپ

فایل های ضمیمه

َabbasi.s1001

نویسنده 1 مقاله در برنامه نویسان
  • C#.net
  • 1k بازدید
  • 6 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید