Wednesday, December 29, 2021

WinForm Save Image Into database C# in Hindi

इस पोस्ट में दिखाया गया कि कैसे हम किसी इमेज फाइल को फाइल सिस्टम से उठाकर किसी डेटाबेस के टेबल के भीतर स्टोर कर सकते हैं। 

सर्वप्रथम एक विंडोज फॉर्म बनाया गया है जिसमें लोड बटन क्लिक के द्वारा इच्छित इमेज फाइल को चयनित किया जाता है जिसे डेटाबेस में स्टोर करना है। जब इमेज फाइल का चयन कर लिया जाता है तब उस इमेज की छवि पिक्चर बॉक्स कंट्रोल में प्रकट होती है। अब यूजर सेव बटन को क्लिक कर उस इमेज को डेटाबेस में सुरक्षित कर लेता है। 

तकनीकी रूप में किसी इमेज को डाटाबेस में स्टोर करने के लिए इमेज को बाइट्स के रूप में परिवर्तित करना होता है। तकनीकी रूप से कहें तो यह सीरिएलाइजेशन की प्रक्रिया आती है जिसके द्वारा किसी ऑब्जेक्ट को बाइट्स अरे के रूप में परिवर्तित कर दिया जाता है और उसको डेटाबेस में सुरक्षित कर दिया जाता है। नीचे की कोडिंग SQL Server Management Studio के Query window में की गई है।


CREATE DATABASE dbImages;
Go
Use dbImages;
Go
CREATE TABLE tbl_Image
(
id int primary key identity(1,1) not null,
imagepath nvarchar(200) null,
image IMAGE null
) 

CODE: नीचे की कोडिंग Visual Studio में की गई है।


using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;

namespace ImageSaverDB
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        private void SaveImageButton_Click(object sender, EventArgs e)
        {
            string constring = ConfigurationManager.ConnectionStrings["csx"].ConnectionString;
            try
            {
                using (SqlConnection conn = new SqlConnection(constring))
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        Image img = Image.FromFile(ImagePathTextBox.Text);
                        //load image into memory
                        System.IO.MemoryStream mem = new System.IO.MemoryStream();
                        img.Save(mem, img.RawFormat);
                        byte[] imgbytes = mem.GetBuffer();

                        string strQ = @"INSERT INTO tbl_Image  VALUES( @imagepath, @image)";
                        cmd.Connection = conn;
                        cmd.CommandText = strQ;
                        cmd.CommandType = System.Data.CommandType.Text;
                        cmd.Parameters.AddWithValue("@imagepath", ImagePathTextBox.Text);
                        cmd.Parameters.AddWithValue("@image", imgbytes);
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        MessageBox.Show("Image saved.", "Database", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void LoadImageButton_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "Select Image";
            ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
            ofd.Filter = "Image Files(*.png;*.jpg;*.jpeg;*.bmp)|*.png;*.jpg;*.jpeg;*.bmp";
            if (ofd.ShowDialog()==DialogResult.OK)
            {
                ImagePathTextBox.Text= ofd.FileName;
                PictureBox1.ImageLocation = ImagePathTextBox.Text;
            }
        }
    }
}

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

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

No comments:

Post a Comment

Hot Topics