Tuesday 23 April 2013

Koneksi C# dengan Ms Access - Contoh CRUD Database

koneksi c# dan database access contoh
Alhmadulillah pagi ini ditemani dengan secangkir kopi membuat tambah semangat ngupdate blog ini :D .. kali ini tentang C# lagi.. udah lama gak ngasi contoh Aplikasi C# diblog ini, apa lagi yang Java... sepertinya malah gak pernah... wkwkwkwk... ya besok2 lah... soalnya update nya sesuai selera gan.. insya Alloh besok yang java ane kasi dah contoh2 Aplikasinya yang bisa ente download gratisss... postingan kali ini akan membahas C# dan Ms. Access ... jadi koneksi database antara C# dan Ms. Access... kenapa ane nulis tentang C# dan Access ?? hemmb... banyak alasan sebenernya... diantara nya adalah mungkin dari pengunjung dapet project yang tidak terlalu besar seperti ane kmaren, disuruh buat Aplikasi SMS Gateway (SENDER) di sekolah adek ane... adek ane masi SD gan :D ..
Dan jumlah siswa nya hanya sekitar 450an ... jadi ane pikir kalo pake Mysql rasanya masih tidak perlu, soalnya kebutuhan systemnya hanya menyimpan nama, kelas, nomer hp.... ya sekitaran itu lah...tidak terlalu besar dan menurut ane sangat kecil dan masih bisa diatasi dengan Database Ms. Access... SMS SENDER nya itu digunakan sebagai tempat pegumuman dari sekolah, seperti mungkin pulang nya lebih awal lah.. mungkin ada hari libur dadakan :D .... ya pokok nya dibuat pengumuman2 gitu... jadi nanti semua nomer siswa yang tersimpan di situ bisa dapet pengumuman dari sekolah.... besok2 ane bahas lah Aplikasi SMS Sender ini :) ...
Oia, untuk melakukan koneksi ke Database Ms. Access ada beberapa jalan kalo di C#, ente bisa pakai ODBC, bisa pake OLEDB dan mungkin yang lainnya kalo ada :D .. kalo ane tau nya cuma 2 itu aja.. hehee... dipostingan ini ane mau bahas yang pake OLEDB saja... karena lebih mudah ketimbang pake ODBC .. biasanya kalo pake ODBC ente harus setting inilah itulah di control panel (administration tool).. dan itu menurut ane sangat merepotkan, mangkanya pake yang OLEDB saja :)
Sebenarnya untuk mengkoneksikan C# dan Ms. Access Database tidak sulit.. hanya saja kita harus tau dimana kita meletakkan Database Ms. Access nya (file Access), kalo ane biasanya ane barengin sama file .exe hasil compilasi program yang ane buat, biasanya di folder project kan ada folder bin >> debug , di folder debug ini file .exe program kita ada, ya ane tarok disitu saja database Ms, Access nya jadi gak repot setting directory database nya nanti di kode program nya.. :D ...
Berikut adalah Class koneksi yang ane pake untuk koneksi ke Ms. Access
public class Connection
{
 public Connection()
 {
  try
  {
   alamat = "Provider=Microsoft.ace.Oledb.12.0; Data Source=database.accdb";
            koneksi = new OleDbConnection(alamat);
  }
  catch(Exception e)
  {
   Console.WriteLine(e.ToString());
  }
 }
  
 private string alamat;
        private OleDbConnection koneksi;
        private OleDbCommand perintah;
        private OleDbDataAdapter adapter;
        private DataSet ds;
        private static Connection connection = null;
        
        public static Connection GetInstance(){
         if(Connection.connection == null){
          Connection.connection = new Connection();
         }         
         return Connection.connection;
        }
        
        private DataSet GetData(string query)
        {
            try
            {
                ds = new DataSet();
                koneksi.Open();
                perintah = new OleDbCommand(query, koneksi);
                adapter = new OleDbDataAdapter(perintah);
                perintah.ExecuteNonQuery();
                adapter.Fill(ds);
                koneksi.Close();
                return ds;
            }
            catch (Exception)
            {
                return null;
            }
        }

        private int ManipulasiData(string query)
        {
            try
            {
                int res = 0;
                koneksi.Open();
                perintah = new OleDbCommand(query, koneksi);
                adapter = new OleDbDataAdapter(perintah);
                res = perintah.ExecuteNonQuery();
                koneksi.Close();
                return res;
            }
            catch (Exception)
            {
                return 0;
            }
        }
        
        public DataSet GetContact(){
         return GetData("select * from phonebook");
        }
        
        public DataSet GetContact(string contact_name){
         return GetData("select * from phonebook where contact_name = '"+contact_name+"';");
        }
        
        public int TambahContact(string name,string number,string address){
         return ManipulasiData("insert into phonebook values ('"+name+"','"+number+"','"+address+"');");
        }
        
        public int UbahContact(string name,string number,string address){
         return ManipulasiData("update phonebook set contact_number = '"+number+"', address = '"+address+"' where contact_name = '"+name+"';");
        }
        
        public int DeleteContact(string name){
         return ManipulasiData("delete from phonebook where contact_name = '"+name+"';");
        }
}  

Kalo ente perhatikan di Constructor Class ini, pada code "Data Source = database.accdb" kode ini digunakan untuk setting directory file Database Ms. Access ente.. seperti yang ane bilang tadi.. kalo ente narok file nya di forder debug ente gak usah setting directory nya, langsung saja nama file nya :D .. jadi gak repot2 .. kalo di tarok di directory "D" (misalnya) maka penulisannya ya "D:\\database.accdb" gitu... paham ya ?? disitu juga udah ane sediain bagaimana kita menggunakan SQl nya Ms Access.. ya gak beda2 jauh sama SQl nya Mysql.. nama nya saja SQL... ya mesti kayak gitu2 aja... hehehee...
Oia untuk contoh program CRUD C# dan Ms Access bisa ente download yang link nya nanti ane kasi dibawah :D ... kalo mau download ane minta tolong yak gan ? ane minta share nya... ya... sedekah lah buat ane.. masak ngeshare aja gak mau ... pelit amat... hehee... untuk postingan ini cukup sampai disini dulu, besok2 kita bahas lagi C# nya, insya Alloh akan ane bahas SMS Gateway (Sender) dengan C#...  ditunggu aja ya ?? :D .. sekian, semoga bermanfaat....

Download File (ane minta share - nya ya gan :D)

4 comments:

  1. subhanallooh... pengen sekali bisa seperti itu, tapi lihat scriptnya aj dah puyeng?. sms gatewaynya kok gak bisa yatak coba?

    ReplyDelete
  2. makasih mass infonya..
    info seputar bola, prediksi bola ter-update..
    berita bola TERBARU DAN TERPERCAYA hanya ada di www.bola368.net
    Kunjungi juga www.bola368.org, Anda puas Kami pun senang.!

    ReplyDelete
  3. mas kalo aplikasi bikin installer C# yang free deh hehehe apa namanya ? saya udah coba advanced installer cuman dia berbayar kan.

    ReplyDelete
    Replies
    1. pake setup project di visual studio...
      kalo advanced installer, Q juga pake itu... ya cari crack nya lah biar bs di pake... :D

      Delete