Friday, December 31, 2021

WinForm Read Images from SQL Server Database C# in Hindi

इस पोस्ट में मैंने दिखाया है कि कैसे किसी डेटाबेस के टेबल में स्थित इमेजेस को वेबफॉर्म के भीतर पिक्चर बॉक्स कंट्रोल में दर्शाया जा सकता है। इस पोस्ट में SQL सर्वर डाटाबेस के टेबल से इमेज को प्राप्त कर पिक्चर बॉक्स कंट्रोल के भीतर दिखाया गया है। सर्वप्रथम इमेजेस की लिस्ट को इमेज path के साथ लिस्टबॉक्स कंट्रोल के भीतर लोड किया गया है। जब यूजर किसी इमेज पथ को सेलेक्ट कर बटन को क्लिक करता है तब इमेज पिक्चर बॉक्स के भीतर दिखाई देता है।

C# Code:


using System;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;

namespace GetDBImageWf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            LoadImagePaths();
        }
        private void LoadImagePaths()
        {
            string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=dbImages;Integrated Security=True";
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                string cmdtext = "Select id, imagepath from tbl_Image";
                using (SqlCommand command = new SqlCommand(cmdtext, conn))
                {
                    using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                    {
                        using (DataSet ds = new DataSet())
                        {
                            conn.Open();
                            adapter.Fill(ds);
                            DataTable dt = new DataTable();
                            dt = ds.Tables[0];

                            foreach (DataRow row in dt.Rows)
                            {
                                ImageListBox.Items.Add(row[0].ToString() + ") " + row[1].ToString());
                            }
                        }
                    }
                }
            }
        }

        private void GetImageButton_Click(object sender, EventArgs e)
        {
            ImageInPictureBox();
        }
        private void ImageInPictureBox()
        {
            int selectedImgId = ImageListBox.SelectedIndex;
            if (selectedImgId != -1)
            {
                string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=dbImages;Integrated Security=True";
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    using (SqlCommand command = new SqlCommand())
                    {
                        string selectCommand = "Select id, image from tbl_Image where id=@id";
                        command.CommandText = selectCommand;
                        command.Parameters.AddWithValue("@id", selectedImgId);
                        command.Connection = conn;
                        conn.Open();
                        SqlDataReader reader = command.ExecuteReader();
                        if (reader.HasRows)
                        {
                            reader.Read();
                            byte[] data = (byte[])reader["image"];
                            //send byte array to stream
                            MemoryStream mems = new MemoryStream(data);
                            //create image from stream
                            Image photo = Image.FromStream(mems);
                            PictureBox1.Image = photo;
                        }
                    }
                }
            }
        }
    }
}

© अजीत कुमार, सर्वाधिकार सुरक्षित।

इस आलेख को उद्धृत करते हुए इस लेख के लिंक का भी विवरण दें। इस आलेख को कॉपीराइट सूचना के साथ यथावत साझा करने की अनुमति है। कृपया इसे ऐसे स्थान पर साझा न करें जहाँ इसे देखने के लिए शुल्क देना पडे।

No comments:

Post a Comment

Hot Topics