Thursday 20 December 2012

Aplikasi CRUD C# - Koneksi C# dan Mysql

Kembali ane menulis tutorial pemrograman....kalo tadi mlm ane ngepost tentang CRUD Java dan Koneksi Java - Mysql sekarang ane mau nulis tentang CRUD C# - Koneksi C Sharp dam Mysql.... Masi dalam Desain Form yang sama... cuma  Aplikasi CRUD Java yang ada di postingan sebelum ini ane rubah ke bahasa C#... Event-Eventnya Juga sama Databasenya Juga sama... Hehehee... intinya kan sama cuma coodingnya yang beda.... pertama ente buat database dulu seperti postingan yang sebelum ini...

ente harus pakai library untuk mengkoneksikan C# dan Mysql... ente kudu download dari situs resminya setelah itu ente includekan ke project C# ente...
berikut caranya...

  • Click kanan pada project, Click add references..

  • Kemudian akan muncul window baru, pada tab GAC pilih "Mysql.Data" dan "System.Data" 


setelah itu ente tambahin using referencesnya

using System.Data;
using MySql.Data.MySqlClient; 

kemudian tambahkan beberapa Object yang membantu kita untuk memanipulasi data di Mysql, tambahkan dibawah Constructor

 private MySqlConnection koneksi;
 private MySqlDataAdapter adapter;
 private MySqlCommand perintah;
 private DataSet ds = new DataSet();
 private string alamat,query; 

Tambahkan didalam Constructor kode berikut

         alamat = "server=localhost; database=kantor; username=root; password=;";
         koneksi = new MySqlConnection(alamat); 

ente bisa sesuaikan dengan username, password dan database ente :D

setelah itu ente bangkitin Event Click pada semua Button dan event FormLoad

kode di event FormLoad

try{
 koneksi.Open();
 query = string.Format("select * from pegawai");
 perintah = new MySqlCommand(query,koneksi);
 adapter = new MySqlDataAdapter(perintah);
 perintah.ExecuteNonQuery();
 ds.Clear();
 adapter.Fill(ds);
 koneksi.Close();
 dataGridView1.DataSource = ds.Tables[0];
 dataGridView1.Columns[0].Width = 120;
 dataGridView1.Columns[0].HeaderText = "Kode Pegawai";
 dataGridView1.Columns[1].Width = 230;
 dataGridView1.Columns[1].HeaderText = "Nama Pegawai";
 dataGridView1.Columns[2].Width = 120;
 dataGridView1.Columns[2].HeaderText = "Jenis Kelamin";    
 text_kodepegawai.Clear();
 text_namapegawai.Clear();
 radiobutton_pria.Checked = false;
 radiobutton_wanita.Checked = false;
 text_kodepegawai.Enabled = true;
 text_kodepegawai.Focus();
 btn_update.Enabled = false;
 btn_delete.Enabled = false;
 btn_bersih.Enabled = false;
 btn_simpan.Enabled = true;
 btn_cari.Enabled = true;
}catch(Exception ex)
{
 MessageBox.Show(ex.ToString());
} 

Kode event Button Simpan Click

try
{
 if(text_kodepegawai.Text != "" && text_namapegawai.Text != "" && (radiobutton_pria.Checked == true ||radiobutton_wanita.Checked == true))
 {
  if(radiobutton_pria.Checked == true)
  {
   query = string.Format("insert into pegawai values ('{0}','{1}','{2}');",text_kodepegawai.Text,text_namapegawai.Text,radiobutton_pria.Text);
  }
  else
  {
   query = string.Format("insert into pegawai values ('{0}','{1}','{2}');",text_kodepegawai.Text,text_namapegawai.Text,radiobutton_wanita.Text);
  }
   
  koneksi.Open();
  perintah = new MySqlCommand(query,koneksi);
  adapter = new MySqlDataAdapter(perintah);
  int res = perintah.ExecuteNonQuery();
  koneksi.Close();
  if(res == 1)
  {
   MessageBox.Show("Insert Data Suksess ...");      
   MainFormLoad(null,null);     
  }else{
   MessageBox.Show("Gagal inser Data . . . ");
  }        
 }else
 {
  MessageBox.Show("Data Tidak lengkap !!");
 }
}
catch(Exception ex)
{
 MessageBox.Show(ex.ToString());
}   

kode event Button Cari Click

try
{
 if(text_kodepegawai.Text != "")
 {
  query = string.Format("select * from pegawai where kodepegawai = '{0}'",text_kodepegawai.Text);
  ds.Clear();
  koneksi.Open();
  perintah = new MySqlCommand(query,koneksi);
  adapter = new MySqlDataAdapter(perintah);
  perintah.ExecuteNonQuery();
  adapter.Fill(ds);
  koneksi.Close();
  if(ds.Tables[0].Rows.Count > 0)
  {
   foreach(DataRow kolom in ds.Tables[0].Rows)
   {
    text_namapegawai.Text = kolom["namapegawai"].ToString();
    if(kolom["jeniskelamin"].ToString() == "Pria")
    {
     radiobutton_pria.Checked = true;
    }
    else
    {
     radiobutton_wanita.Checked = true;
    }
   }
   text_kodepegawai.Enabled = false;
   dataGridView1.DataSource = ds.Tables[0];
   btn_simpan.Enabled = false;
   btn_update.Enabled = true;
   btn_delete.Enabled = true;
   btn_cari.Enabled = false;
   btn_bersih.Enabled = true;
  }else
  {      
   MessageBox.Show("Data Tidak Ada !!");
   MainFormLoad(null,null);
  }
     
 }else
 {
  MessageBox.Show("Data Yang Anda Pilih Tidak Ada !!");
 }
}
catch(Exception ex)
{
 MessageBox.Show(ex.ToString());
} 

Kode event Button bersih Click

try
{
 MainFormLoad(null,null);
}
catch(Exception ex)
{
 MessageBox.Show(ex.ToString());
} 

Kode event Button Update Click

try
{
 if(text_namapegawai.Text != "" && (radiobutton_pria.Checked == true ||radiobutton_wanita.Checked == true))
 {
  if(radiobutton_pria.Checked == true)
  {
   query = string.Format("update pegawai set namapegawai = '{0}',jeniskelamin = '{1}' where kodepegawai = '{2}'",text_namapegawai.Text,radiobutton_pria.Text,text_kodepegawai.Text);
  }
  else
  {
   query = string.Format("update pegawai set namapegawai = '{0}',jeniskelamin = '{1}' where kodepegawai = '{2}'",text_namapegawai.Text,radiobutton_wanita.Text,text_kodepegawai.Text);
  }
     
  koneksi.Open();
  perintah = new MySqlCommand(query,koneksi);
  adapter = new MySqlDataAdapter(perintah);
  int res = perintah.ExecuteNonQuery();
  koneksi.Close();
  if(res == 1)
  {
   MessageBox.Show("Update Data Suksess ...");      
   MainFormLoad(null,null);     
  }else{
   MessageBox.Show("Gagal Update Data . . . ");
  }        
 }else
 {
  MessageBox.Show("Data Tidak lengkap !!");
 }
}
catch(Exception ex)
{
 MessageBox.Show(ex.ToString());
}   

Kode event Button delete Click

try
{
 if(text_kodepegawai.Text != "")
 {
  if(MessageBox.Show("Anda Yakin Menghapus Data Ini ??","Warning",MessageBoxButtons.YesNo) == DialogResult.Yes){
  query = string.Format("Delete from pegawai where kodepegawai = '{0}'",text_kodepegawai.Text);
  ds.Clear();
  koneksi.Open();
  perintah = new MySqlCommand(query,koneksi);
  adapter = new MySqlDataAdapter(perintah);
  int res = perintah.ExecuteNonQuery();
  koneksi.Close();
  if(res == 1)
  {
   MessageBox.Show("Delete Data Suksess ...");
  }
  else
  {
   MessageBox.Show("Gagal Delete data");
  }      
 }
 MainFormLoad(null,null);
 }else
 {
  MessageBox.Show("Data Yang Anda Pilih Tidak Ada !!");
 }
}
catch(Exception ex)
{
 MessageBox.Show(ex.ToString());
} 


Untuk demo Aplikasinya begini Gan...

FormLoad


Button Simpan Click



Button Update Click



Button Delete Click


Button Cari Click


Kalo mau download project aslinya silahkan download disini gan...

11 comments:

  1. kalo untuk di flat file(.txt) dengan tanda pemisah seperti # atau $ gimana gan ??

    ReplyDelete
  2. boleh minta link buat download c# untuk windows 7? saya cari gak dapet-dapet.. :(

    ReplyDelete
  3. boleh minta link buat download c# untuk windows 7? saya cari gak dapet-dapet :(

    ReplyDelete
  4. C# windows 7 ??
    bukannya C# itu memang untuk windows versi XP, Vista, 7 dan 8 ??
    hehehehehehe

    ReplyDelete
  5. ini bikin databasenya dimana gan? di sql server atau apa?

    ReplyDelete
  6. ooo harus pake mysql connector ya?

    ReplyDelete
  7. pemula nih gan, bisa dijelasin posisi didalam constuctor dan dibawah constructor dimana? makasih

    ReplyDelete
    Replies
    1. Constructor itu method yang nama nya sama dengan nama Class nya gan...
      baca di http://calonpresident.blogspot.com/2012/01/construktor-dan-destruktor.html gan ...

      Delete