“Berbagi ilmu itu penting untuk meningkatkan pengetahuan di Indonesia”…Tingkatkan moto seperti ini..heheheh..dah lama saya ngak posting lagi semenjak Modem saya bermasalah sampe akhirnya gak bisa dipakai tapi kali ini, okelah walaupun hanya beberapa rupiah terbuang diwarnet tapi ngak masalah yang penting bisa posting…good..!..dan yang lebih penting lagi kalau ada yang mau membantu saya memperbaiki Modem..xixixxixi.

Tulisan saya kali ini kurang lebih mengenai cara mengupload /simpan gambar ke database Access menggunakan Microsoft Visual Studio 2008..Untuk  bahasa pemogramannya menggunakan  CSharp(C#).

Bahan-bahan yang perlu anda siapkan :

  • Microsoft Access 2003
  • Microsoft Visual Studio 2008 (C#)
  • secangkir kopi panas
  • di tambah Pizza atau sejenisnya..!!

    okelah…semakin banyak bahannya dibicarakan maka semakin bertambah pula kelezatannya…hal pertama yang perlu dilakukan adalah membuat database di microsoft Access.

    Databasenya diberi nama dbgambar.mdb kemudian buatkan tabel baru  dengan nama tImage. Untuk    atribut dan tipe datanya bisa dilihat gambar disamping !.sesudah itu biarkan datanya tetap kosong. OK!

    setelah databasenya sudah selesai dibuat sekarang waktunya untuk pengkodean di C#..Hal kedua yang ada lakukan adalah membuka Microsoft Visual Studio 2008.kemudian silakan pilih bahasa pemograman C# (CSharap) dan pilih Windows Application.Untuk projectnya diberi nama dengan Upload Gambar.penulis berharap Microsoft Visual Studio 2008 atau versi sebelumnya sudah terinstal dikomputer dan anda  sudah memiliki cukup pengetahuan tentang C#.

    • setelah projectnya selesai dibuat sekarang buatlah sebuah Class baru dengan nama koneksi.cs
    • ubahlah sourcecodenya menjadi seperti berikut :
       public class koneksi
          {
              private OleDbConnection konektor;
              private OleDbCommand comm;
              public void oledbQuery(string access)
              {
                  comm = new OleDbCommand();
                  try
                  {
                      konektor = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"+
                      "Data Source=|DataDirectory|/dbGambar.mdb");
                      konektor.Open();
                      comm.CommandText = access;
                      comm.Connection = konektor;
                  }
                  catch (OleDbException ex)
                  {
                      konektor.Close();
                      MessageBox.Show("Koneksi Gagal : " + ex.Message, "Warning");
                  }
                  catch (Exception e)
                  {
                      MessageBox.Show("Program Error : " + e.Message, "Warning");
                  }
              }
      
              public OleDbCommand OleDbComm
              {
                  get { return comm; }
                  set { comm = value; }
              }
      
              public OleDbConnection oledbConnection
              {
                  get { return konektor; }
              }
          }
      
      • Tambahkan sebuah Class baru dan beri nama Upload.cs
      • Kemudian ubah sourcecodenya lagi seperti berikut :
       public class upload
          {
              private koneksi conn = new koneksi();
              private byte[] image;
      
              public void setGambar(byte[] gambar)
              {
                  this.image = gambar;
              }
      
              //Proses Simpan Gambar.....
              public void simpanGambar()
              {
                  try
                  {
                      conn.oledbQuery("insert into tImage(gambar)" +
                                      " values(@img)");
                      conn.OleDbComm.Parameters.Add(new OleDbParameter("@img", OleDbType.Binary)).Value = image;
                      conn.OleDbComm.ExecuteNonQuery();
                      conn.oledbConnection.Close();
                      MessageBox.Show("Data Tersimpan !! ");
                  }
                  catch (Exception ex)
                  {
                      MessageBox.Show("Simpan Error : " + ex.Message);
                  }
              }
          }
      
      • setelah anda selesai menambahkan 2 Class baru diatas, selanjutnya bukalah form yang ada di project anda dengan nama Form1.cs dan desain tampilannya seperti berikut :

        Ket :
        • Tampilan 1 dan 2 :  untuk tampilan kotak segi empat berwarna kecoklatan adalah pictureBox.
        • Tampilan 2 : Untuk tampilan kotak segi empat berwarna putih adalah ListBox.
        • Kemudian Tambahkan Koding untuk Button Upload sbb:
           private void Upload_Click(object sender, EventArgs e)
                  {
                      OpenFileDialog.InitialDirectory = "C:\\";
                      OpenFileDialog.Filter = "All Files|*.*|JPEGs|*.jpg|GIFs|*.gif|Bitmaps|*.bmp";
                      OpenFileDialog.FilterIndex = 2;
          
                      if (OpenFileDialog.ShowDialog() == DialogResult.OK)
                      {
                          pictureBox.Image = Image.FromFile(OpenFileDialog.FileName);
                          pictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
                          pictureBox.BorderStyle = BorderStyle.Fixed3D;
                          textFilename.Text = OpenFileDialog.FileName;
          
                      }
                  }
          
          • selanjutnya untuk Button Simpan Gambar :
             private void simpan_Click(object sender, EventArgs e)
                    {
                        try
                        {
                            MemoryStream ms = new MemoryStream();
                            pictureBox.Image.Save(ms, pictureBox.Image.RawFormat);
                            byte[] arrImage = ms.GetBuffer();
            
                            //proses upload gambar.....
                            ambil.setGambar(arrImage);
                            ambil.simpanGambar();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Error : " + ex.Message);
                        }
                    }
            
            • untuk Button Refresh pada Tampilan 2 tambahkan kodingnya sbb:
              private void refresh_Click(object sender, EventArgs e)
                      {
                          try
                          {
                              listID.Items.Clear();
                              conn.oledbQuery("select ID from tImage");
                              reader = conn.OleDbComm.ExecuteReader();
                              while (reader.Read())
                              {
                                  listID.Items.Add(reader[0]);
                              }
                              conn.oledbConnection.Close();
                          }
                          catch (Exception ex)
                          {
                              MessageBox.Show("Error : " + ex.Message);
                          }
                          finally
                          {
                              try
                              {
                                  listID.SelectedIndex = 0;
                              }
                              catch (Exception)
                              {
              
                              }
                          }
                      }
              
              • kemudian yang terakhir yaitu tambahkan koding di ListBox dengan cara klik Double pada ListBox dan ubah codingnya sbb :
                private void listID_SelectedIndexChanged(object sender, EventArgs e)
                        {
                            try {
                                conn.oledbQuery("select gambar from tImage where ID=@id");
                                conn.OleDbComm.Parameters.Add(new OleDbParameter("@id", OleDbType.VarChar)).Value = listID.SelectedItem.ToString();
                                reader = conn.OleDbComm.ExecuteReader();
                                reader.Read();
                                byte[] arrFoto = ((byte[])reader.GetValue(0));
                                MemoryStream ms = new MemoryStream(arrFoto);
                                pictureBox1.Image = Image.FromStream(ms);
                                pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
                                pictureBox1.BorderStyle = BorderStyle.Fixed3D;
                                reader.Close();
                                conn.oledbConnection.Close();
                            }
                            catch (Exception x) {
                                MessageBox.Show("Error loading : "+x.Message);
                            }
                        }
                
                • setelah itu tambahkan beberapa buah variable berikut di dalam coding Form1.cs :
                  private upload ambil = new upload();
                  private koneksi conn = new koneksi();
                  private OleDbDataReader reader;

                  hmmmmmm….akhirnya sudah selesai untuk codingnya sekarang jalankan aplikasi anda. aplabila terdapat error, periksa kembali coding yang anda masukan. jika berhasil maka akan tampil hasil sbb :

                  yah kurang lebih hasilnya seperti itu…mudah-mudahan postingnya berguna ya…oh ya.setelah hal pertama dan hal kedua dikerjakan sekarang jangan lupa untuk hal ketiga dan keempat. yaitu minum kopi dan makan pizza..jangan sampe keburu dingin…hehehhe..

                  Selamat Mencoba..GBU

                  DOWNLOAD – Demo Program here