(Sumber: milist MUGI) Image di C#

Jawab (Sumber: milist MUGI) Image di C#

  • 16 Maret 2012 9:16
    Moderator
     
     
     

    Sy sedang belajar C#.Ada yg tau coding untuk bisa save dan load image di C# dengan database sql?mohon bantuannya,terima kasih suhu-suhu....


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

Semua Balasan

  • 16 Maret 2012 9:18
    Moderator
     
     Jawab Memiliki Kode
     

    untuk save image di database, image harus di convert kebentuk binary.

    type data field untuk menyimpan image didatabase adalah type data binary.

    dan karena saya menggunakan sql server 2008 r2 maka 

    saya set type field untuk image sbg varbinary.

    ini sample code dengan C# dan kita asumsi imagenya bertype jpg.

    btw, saya udah lupa menggunakan native ado.net karena udah kebiasaan pakai orm, 

    but here's the code :

    using System.Data.SqlClient;
    using System.IO;
    using System.Linq;
     class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "Server=localhost; Database=SportsStore; " +
                                      "User Id=sa; Password=secret";
             using (SqlConnection conn = new SqlConnection(connectionString))
            {
                //open or create image file
                Stream s = new FileStream(@"C:/image.jpg", FileMode.OpenOrCreate);
                 //buffer untuk menyimpan byte dari image
                byte[] buffer = new byte[s.Length];
                 //now, buffer sudah terisi byte dari image yg berasal dari file
                s.Read(buffer, 0, (int) s.Length);
                                        conn.Open();
                  //command untuk simpan image ke database
                SqlCommand command = new SqlCommand("update dbo.Products " +
                                                    "set dbo.Products.ImageData = @param " +
                                                    "where dbo.Products.ProductID = 6", conn);
                command.Parameters.Add(new SqlParameter("param", buffer));
                command.ExecuteNonQuery();
                //command untuk mendapatkan image dari database
                command = new SqlCommand("select p.ImageData " +
                                            "from dbo.Products as p " +
                                            "where p.ProductID = 6", conn);
                 //now, buffer sudah terisi byte dari image yg berasal dari database
                buffer = command.ExecuteScalar() as byte[];
                 //Simpan image ke file
                s.Position = 0;
                s.Write(buffer, 0, buffer.Count());
                s.Flush();
            }
         }
    }

    Dijawab oleh: Agus Syahputra


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.