C# Insert Text and Image to a Column in SQL Database

Code C# insert text and image to a column in sql database có nghĩa là sử dụng ngôn ngữ C# để insert nội dung dữ liệu có chứa văn bản text và hình ảnh image vào một cột (column) trong bảng (table) của cơ sở dữ liệu SQL Database.

Làm thế nào để insert text và image vào một cột trong cơ sở dữ liệu SQL Database ?

Thông thường dữ liệu insert vào chỉ ở dạng text hoặc image, bạn có thể nhập vào một cách dễ dàng.Tuy nhiên nếu nội dung dữ liệu có chứa cả text và image thì làm thế nào để insert nó vào một cột của bảng trong cơ sở dữ liệu SQL được? Trong cơ sở dữ liệu SQL Database có kiểu dữ liệu image, sử dụng kiểu dữ liệu image này bạn có thể lưu nội dung dữ liệu bao gồm nội dung văn bản text và hình ảnh image.

Bây giờ chúng tôi sẽ chia sẻ và hướng dẫn các bạn cách insert dữ liệu cả text và image vào một cột trong cơ sở dữ liệu.

 

Cách insert text và image vào một cột column trong cơ sở dữ liệu SQL Database như sau:

1.Tạo bảng (Table) trong cơ sở dữ liệu ihoclaptrinh

2.Tạo form Frm_Insert_TextandImage

3.Viết code C# insert văn bản text và hình ảnh image vào một cột trong cơ sở dữ liệu SQL Database.

4.Chạy chương trình và kiểm tra kết quả.

 

1.Tạo bảng (Table) trong cơ sở dữ liệu ihoclaptrinh

- Tạo bảng Products_t (Table) để lưu trữ dữ liệu lớn trong cơ sở dữ liệu ihoclaptrinh (Database)

Ví dụ

CREATE TABLE [dbo].[Products_t](
    [ProductID] [nvarchar](150) NULL,
    [ProductName] [nvarchar](150) NULL,
    [Product_Content] [image] NULL
)

Lưu ý : Tạo trường Product_Content (column) kiểu dữ liệu là image

 

2.Tạo form Frm_Insert_TextandImage

-Tạo Form Frm_InsertTextandImage

Thêm các controls vào form như hình ảnh dưới đây:

 

Giải thích:

+Thêm control Textbox  txt_ProductID : để nhập mã sản phẩm

+ Thêm control Textbox txt_ProductName : để nhập tên sản phẩm

+ Thêm control RichTextBox  richTextBox_TextandImage : để nhập mô tả sản phẩm bao gồm nội dung văn bản và hình ảnh.

+ Thêm control Buttton btn_InsertImage : là nút để chèn ảnh vào richtextbox.

+ Thêm control Buttton bnt_Save_TextandImage là nút để lưu thông tin mã, tên và mô tả vào cơ sở dữ liệu SQL.

+ Thêm control Buttton btn_Show_Content_TextandImage: là nút để hiện thông tin sản phẩm đã thêm từ cơ sở dữ liệu vào DataGridView.

 

3.Viết code C# insert văn bản text và hình ảnh image vào một cột trong cơ sở dữ liệu SQL Database.

Ví dụ yêu cầu bài toán là xây dựng phần mềm nhập mã sản phẩm, tên sản phẩm và mô tả sản phẩm.Phần mô tả sản phẩm phải cho phép nhập và lưu văn bản text và hình ảnh image.

Bây giờ chúng ta xây dựng và viết chương trình C# để lưu văn bản text và hình ảnh vào phần mềm như sau:

- Bước 1 : Code C# cho nút btn_InsertImage để Insert thêm ảnh image vào RichTextBox

Ví dụ

 private void btn_InsertImage_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog ofd = new OpenFileDialog())
            {
                ofd.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.png; *.bmp)|*.jpg; *.jpeg; *.gif; *.png; *.bmp";

                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    Clipboard.SetImage(Image.FromFile(ofd.FileName));
                    richTextBox_TextandImage.Paste();
                }
            }
        }

- Bước 2: Code C# cho nút bnt_Save_TextandImage  để Save lưu thông tin vào cơ sở dữ liệu SQL.

Ví dụ

private void bnt_Save_TextandImage_Click(object sender, EventArgs e)
        {
            string str_Connect = "data source=192.168.1.10; initial catalog=ihoclaptrinh; user id=sa; password=123456";
            SqlConnection conn = new SqlConnection(str_Connect);
            conn.Open();
            SqlCommand cmd = new SqlCommand("insert into Products_t(Product_Content) values (@product_Content)", conn);
            cmd.Parameters.Add("@product_Content", System.Data.SqlDbType.Image).Value = Encoding.Unicode.GetBytes(richTextBox_TextandImage.Rtf);
         
            cmd.ExecuteNonQuery();
            conn.Close();
            MessageBox.Show("Save successfully !!!");

        }

- Bước 3 : Show lấy dữ liệu đã thêm từ cơ sở dữ liệu SQL và hiển thị vào DataGridView.

Ví dụ

private void btn_Show_Content_TextandImage_Click(object sender, EventArgs e)
        {
            string str_Connect = "data source=192.168.1.10; initial catalog=ihoclaptrinh; user id=sa; password=123456";
            SqlConnection conn = new SqlConnection(str_Connect);
            conn.Open();
            string str_SelectData = " Select * From Products_t";
            SqlDataAdapter da = new SqlDataAdapter(str_SelectData, conn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            byte[] data_bytes = (byte[])dt.Rows[0]["Product_Content"];
            richTextBox_TextandImage.Rtf = Encoding.Unicode.GetString(data_bytes); 
        }

 

- Sau đây là toàn bộ source code của chương trình insert text and image to a column trong SQL bằng ngôn ngữ lập trình C#.

Ví dụ

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Insert_TextAndImage
{
    public partial class Frm_InsertTextandImage : Form
    {
        public Frm_InsertTextandImage()
        {
            InitializeComponent();
        }

       //Insert image to RichTextBox

        private void btn_InsertImage_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog ofd = new OpenFileDialog())
            {
                ofd.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.png; *.bmp)|*.jpg; *.jpeg; *.gif; *.png; *.bmp";

                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    Clipboard.SetImage(Image.FromFile(ofd.FileName));
                    richTextBox_TextandImage.Paste();
                }
            }
        }

       //Save data to SQL Database

        private void bnt_Save_TextandImage_Click(object sender, EventArgs e)
        {
            string str_Connect = "data source=192.168.1.10; initial catalog=ihoclaptrinh; user id=sa; password=123456";
            SqlConnection conn = new SqlConnection(str_Connect);
            conn.Open();
            SqlCommand cmd = new SqlCommand("insert into Products_t(Product_Content) values (@product_Content)", conn);
            cmd.Parameters.Add("@product_Content", System.Data.SqlDbType.Image).Value = Encoding.Unicode.GetBytes(richTextBox_TextandImage.Rtf);
         
            cmd.ExecuteNonQuery();
            conn.Close();
            MessageBox.Show("Save successfully !!!");

        }

        //Show data to DataGridView

        private void btn_Show_Content_TextandImage_Click(object sender, EventArgs e)
        {
            string str_Connect = "data source=192.168.1.10; initial catalog=ihoclaptrinh; user id=sa; password=123456";
            SqlConnection conn = new SqlConnection(str_Connect);
            conn.Open();
            string str_SelectData = " Select * From Products_t";
            SqlDataAdapter da = new SqlDataAdapter(str_SelectData, conn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            byte[] data_bytes = (byte[])dt.Rows[0]["Product_Content"];
            richTextBox_TextandImage.Rtf = Encoding.Unicode.GetString(data_bytes); 
        }
    }
}

 

4.Chạy chương trình và kiểm tra kết quả.

Nhấn F5 để chạy chương trình và nhập thông tin mã sản phẩm, tên sản phẩm và mô tả.Phần mô tả nhấn nút Insert Image... để chèn ảnh.Sau đó nhấn nút Save Text and Image to a column in SQL để lưu dữ liệu vào cơ sở dữ liệu SQL.

Để xem dữ liệu đã thêm bạn nhấn nút Show Content để xem nội dung phần mô tả Description.

Kết quả như hình dưới đây: