DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Cara Menyimpan Data Gambar Di Sql Server Di VB.Net dan C#

advertisement
    
Cara Menyimpan Data Gambar Di Sql Server Di VB.Net dan C#

Kelebihan database Sql Server salah satunya adalah kemampuannya untuk dapat menyimpan data berupa gambar secara langsung(image type). Data yang disimpan sebenernya bentuk byte array, sehingga untuk menyimpan dan mengambil datanya perlu mengkonversinya.

Menyimpan data berupa File Type baik itu gambar, video, suara, text dan lain sebagainya, sebenarnya tidak di sarankan. Hal ini dikarnakan akan memperlambat proses pembacaan database karena data tersebut memiliki length yang panjang. Bayangkan jika sistem tersebut di buat pada sisi server yang akan menangani banyak client, tentu akan sangat memberatkan kinerja server. Hal yang paling tepat untuk menyimpan data file type adalah dengan menyimpanya di directory server kemudian menyimpan alamat directory tersebut dalam database. 

Namun untuk pembelajaran, kali ini saya akan membagikan tutorial bagaimana cara menyimpan file gambar di Sql Server secara langsung. Oke kita langsung saja ke tutorialnya.
  1. Silahkan buat sebuah database Sql Sever dan kemudian eksekusi query berikut ini.
    create table simpan_gambar (id int identity primary key,nama varchar(150) not null, gambar image not null);
  2. Buat sebuah Project console aplikasi c# atau vb.net dan silahkan kalian copy paste code  berikut ini.
    Code vb.net

      
    Imports System.Data.SqlClient
    Imports System.IO
    'silahkan Add References System.Windows.Forms; Klik Menu Bar Project dan Klik Add References
    Imports System.Windows.Forms
    'silahkan Add References System.Drawing
    Imports System.Drawing
    Module Module1
        Sub Main()
            Dim file As New OpenFileDialog()
            file.Filter = "(*.JPG)|*.JPG"
            If file.ShowDialog = DialogResult.OK Then
                Dim image As Image = Image.FromFile(file.FileName)
                'Mengambil nama file gambar
                Dim namaGambar = Path.GetFileName(file.FileName)
                If SimpanGambar(image, namaGambar) Then
                    Console.WriteLine("Berhasil menyimpan")
                Else
                    Console.WriteLine("Gagal menyimpan")
                End If
                Console.ReadLine()
            End If
        End Sub
        Function SimpanGambar(ByVal image As Image, nama As String)
            Try
                'Ganti dengan koneksi database kalian'
                Dim con = New SqlConnection("DATA SOURCE=ANNAJIYAH\SQLEXPRESS;INITIAL CATALOG=BlogTest; USER ID=sa; PASSWORD=123")
                con.Open()
                Dim com = New SqlCommand("insert into simpan_gambar (nama,gambar) values(@name,@gambar)", con)
                'mengkonversi gambar ke bentuk byte array dengan fungsi ImageConverter
                Dim converter As New ImageConverter
                Dim array = converter.ConvertTo(image, GetType(Byte()))
                'Mengset data dengann fungsi Parametes AddWithValue Sqlcommand
                com.Parameters.AddWithValue("@name", nama)
                com.Parameters.AddWithValue("@gambar", array)
                con.Close()
                com.ExecuteNonQuery()
                Return True
            Catch ex As Exception
                MsgBox(ex.Message)
                Return False
            End Try
        End Function
    End Module
    
    
    Code csharp

    using System;
    using System.IO;
    //silahkan Add References System.Windows.Forms; Klik Menu Bar Project dan Klik Add References
    using System.Windows.Forms;
    //silahkan Add References System.Drawing;
    using System.Drawing;
    using System.Data.SqlClient;
    
    namespace SimpanGambar_csharp
    {
        class Program
        {
            [STAThread] //Atribut ini berfungsi mengijinkan multi thread pada OpenFIleDialog
            static void Main(string[] args)
            {
                var file = new OpenFileDialog();
                file.Filter = "(*.JPG)|*.JPG";
                if (file.ShowDialog() == DialogResult.OK)
                {
                    var img = Image.FromFile(file.FileName);
                    //Mengambil nama file gambar
                    var namaGambar = Path.GetFileName(file.FileName);
                    if (SimpanGambar(img,namaGambar))
                        Console.WriteLine("Berhasil di simpan");
                    else
                        Console.WriteLine("Gagal di simpan");
                    Console.ReadLine();
                }
            }
            static bool SimpanGambar(Image img,string nama)
            {
                try
                {
                    //Ganti dengan koneksi database kalian
                    SqlConnection con = new SqlConnection("DATA SOURCE=ANNAJIYAH\\SQLEXPRESS;INITIAL CATALOG=BlogTest; USER ID=sa; PASSWORD=123");
                    con.Open();
                    var com = new SqlCommand("insert into simpan_gambar (nama,gambar) values(@name,@gambar)", con);
                    //mengkonversi gambar ke bentuk byte array dengan fungsi ImageConverter
                    var converter = new ImageConverter();
                    var array = converter.ConvertTo(img, typeof(byte[]));
                    //Mengset data dengann fungsi Parametes AddWithValue Sqlcommand
                    com.Parameters.AddWithValue("@name", nama);
                    com.Parameters.AddWithValue("@gambar", array);
                    com.ExecuteNonQuery();
                    con.Close();
                    return true;
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return false;
                }
            }
        }
    }
    
    
    Sebelum menstorenya kedalam table, gambar harus di konversi ke dalam bentuk byte array dengan fung ImageConverter. Kemudian kita menset value dari query yang telah di buat dengan fungsi Parameters.AddWithValue SqlCommand.
 Terimakasih sudah mampir di artikel cara menyimpan data gambar di sql server. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good luck
advertisement



0 Komentar untuk " Cara Menyimpan Data Gambar Di Sql Server Di VB.Net dan C#"

Silahkan berkomentar dengan baik dan bijak!