Membuat Koneksi Database di C# dengan MySql
Sebelum kita memulai pembuatan CRUD, anda harus membuat koneksi database terlebih dahulu, agar aplikasi anda dapat terhubung ke database, caranya
- Pilih Menu Project kemudian klik Add Class
- Beri Nama Koneksi, kemudian tekan Tombol Add
- kemudian ketikkan kode beriku tini ke dalam Class Koneksi.cs
public static MySqlConnection conn = new MySqlConnection("Server=127.0.0.1;Port=3306;UID=root;PWD=;Database=data_siswa");
dimana “data_siswa” merupakan nama database dari aplikasi ini, sesuaikan namanya jika anda menggunakan nama database yang lain. sehinnga coding lengkapnya seperti ini
sampai disini anda sudah berhasil membuat koneksi database.
Membuat CRUD Aplikasi Pendataan Nilai Siswa
Coding Form Login
Klik 2x pada Button Login kemudian ketik kode berikut
Koneksi.conn.Open();
String query = "SELECT * FROM `users` WHERE `email` = '" + txtusername.Text + "' AND `password` = '" + txtpassword.Text + "'";
cmd = new MySqlCommand(query, Koneksi.conn);
dr = cmd.ExecuteReader();
try
{
if (dr.Read())
{
new Dashboard().Show();
this.Hide();
}
else
{
MessageBox.Show("Ups! Username atau Password anda Salah");
}
}
catch (Exception)
{
MessageBox.Show("Ups! Gagal Login");
}
Koneksi.conn.Close();
Sehingga hasil akhirnya seperti gambar berikut
Jalankan Program dengan cara tekan tombol F5 pada Keyboard, kemudian masukkan username : admin@gmail.com dan Password : admin
Coding Form Dashboard
Coding Tombol Siswa
Klik 2x pada Tombol Siswa, kemudian isi code berikut ini
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Siswa FormAktif = new Siswa();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Siswa";
Coding Tombol Guru
Klik 2x pada Tombol Guru, kemudian isi code berikut ini
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Guru FormAktif = new Guru();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Guru";
Coding Tombol Beranda
Klik 2x pada Logo SMKN 1 Bangil, kemudian isi code berikut ini
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = true;
label1.Text = "Aplikasi Pendataan Nilai";
Coding Tombol Mapel
Klik 2x pada Tombol Mapel, kemudian isi code berikut ini
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Mapel FormAktif = new Mapel();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Mata Pelajaran";
Coding Tombol Nilai
Klik 2x pada Tombol Nilai, kemudian isi code berikut ini
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Nilai FormAktif = new Nilai();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Nilai";
Coding Tombol Logout
Klik 2x pada Tombol Logout, kemudian isi code berikut ini
new Login().Show();
this.Hide();
Coding Lengkapnya seperti berikut ini
//tombol Siswa
private void btSiswa_Click(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Siswa FormAktif = new Siswa();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Siswa";
}
//Tombol Guru
private void btGuru_Click(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Guru FormAktif = new Guru();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Guru";
}
//Tombol Beranda di Logo
private void panel4_Click(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = true;
label1.Text = "Aplikasi Pendataan Nilai";
}
//Tombol Mapel
private void btMapel_Click(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Mapel FormAktif = new Mapel();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Mata Pelajaran";
}
//Tombol Nilai
private void btNilai_Click(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
ActiveMdiChild.Close();
panel3.Visible = false;
Nilai FormAktif = new Nilai();
FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Nilai";
}
//Tombol Logout
private void btLogout_Click(object sender, EventArgs e)
{
new Login().Show();
this.Hide();
}
Coding Form Siswa
Deklarasi Variabel Public
Ada beberapa variabel yang harus dideklarasikan secara public agar variabel tersebut dapat diakses di beberapa method, variabel-variebl ini deklarasikan tepat diatasnya public Siswa() {
public MySqlCommand cmd;
public MySqlDataReader dr;
public String id;
Sehingga hasil akhirnya akan seperti gambar berikut ini
Load Data Siswa
Agar data siswa tampil pada DataGridView saat pertama kali form dijalankan, anda harus membuat Method baru dengan nama Tampil(), caranya klik kanan pada Form Siswa kemudian klik View Code atau anda juga dapat menekan tombol F7 pada Keyboard
Kemudian buatlah methode baru seperti berikut ini
private void Tampil()
{
try
{
//MessageBox.Show("Ini Muncul Saat Form dipanggil");
Koneksi.conn.Open(); //ini membuka koneksi database
//ini digunakan untuk mengambil data di tabel siswa
MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `data_siswa`.`siswa`", Koneksi.conn);
//membuat objek Dasa Set Baru
DataSet ds = new DataSet();
//ini digunakan untuk mengisi dataset dari Data Adapter
da.Fill(ds);
//Mengisi DataGrid Siswa dengan DataSet
dgsiswa.DataSource = ds.Tables[0];
Koneksi.conn.Close();
}
catch (Exception)
{
MessageBox.Show("Duh!!, Ada Error Nih");
}
}
Setelah berhasil membuat Method Tampil(), selanjutnya panggil Method tersebut kedalam Form_load, caranya Klik 2x pada Form Siswa kemudian ketikan Tampil();, sehingga hasilnya seperti berikut ini
private void Siswa_Load(object sender, EventArgs e)
{
Tampil();
btDelete.Enabled=false;
btUpdate.Enabled=false;
btCancel.Enabled=false;
}
Clear Semua Control Inputan
Untuk menghapus semua inputan yang ada di Control, anda perlu membuat Method baru dengan nama Clear(), letakkan code berikut ini tepat di atas Method Tampil atau diatas kode private void Tampil()
private void Clear()
{
txtnama.Text = "";
txtalamat.Text = "";
txtemail.Text = "";
txtjurusan.Text = "";
txtnohp.Text = "";
txtcari.Text = "";
btDelete.Enabled = false;
btUpdate.Enabled = false;
btCancel.Enabled = false;
btInsert.Enabled = true;
}
Insert Data Siswa
Klik 2x pada Tombol Insert, kemudian masukkan kode berikut
try
{
Koneksi.conn.Open();
String Queri = "INSERT INTO siswa (`nama`, `jenkel`, `alamat`, `nohp`, `jurusan`, `email`) VALUES ('" + txtnama.Text + "', '" + cbkelamin.Text + "', '" + txtalamat.Text + "', '"+txtnohp.Text+"', '"+txtjurusan.Text+"', '"+txtemail.Text+"')";
cmd = new MySqlCommand(Queri, Koneksi.conn);
cmd.ExecuteNonQuery();
MessageBox.Show("Berhasil Simpan Data Siswa");
Koneksi.conn.Close();
Tampil(); //memanggil method Tampil
Clear(); //memanggil method Clear
}
catch (Exception)
{
MessageBox.Show("Tambah Data Gagal");
}
Klik DataGridView
Klik 2x pada DataGridViw, kemudian masukkan kode berikut :
btDelete.Enabled = true;
btUpdate.Enabled = true;
btCancel.Enabled = true;
btInsert.Enabled=false;
int baris = dgsiswa.CurrentCell.RowIndex;
id = dgsiswa.Rows[baris].Cells[0].Value.ToString();
txtnama.Text = dgsiswa.Rows[baris].Cells[1].Value.ToString();
cbkelamin.Text = dgsiswa.Rows[baris].Cells[2].Value.ToString();
txtalamat.Text = dgsiswa.Rows[baris].Cells[3].Value.ToString();
txtnohp.Text = dgsiswa.Rows[baris].Cells[4].Value.ToString();
txtjurusan.Text = dgsiswa.Rows[baris].Cells[5].Value.ToString();
txtemail.Text = dgsiswa.Rows[baris].Cells[6].Value.ToString();
Update Data Siswa
Klik 2x pada Tombol Update, kemudian masukkan kode berikut :
try
{
Koneksi.conn.Open();
String Queri = "UPDATE siswa SET `nama`='"+txtnama.Text+"', `jenkel`='"+cbkelamin.Text+"', `alamat`='"+txtalamat.Text+"', `nohp`='"+txtnohp.Text+"', `jurusan`='"+txtjurusan.Text+"', `email`='"+txtemail.Text+"' WHERE `id`='"+ id +"'";
cmd = new MySqlCommand(Queri, Koneksi.conn);
cmd.ExecuteNonQuery();
MessageBox.Show("Berhasil Update Data Siswa");
Koneksi.conn.Close();
Tampil();
Clear();
}
catch (Exception)
{
MessageBox.Show("Update Gagal");
}
Delete Data Siswa
Klik 2x pada Tombol Delete, kemudian masukkan kode berikut :
try
{
Koneksi.conn.Open();
cmd = new MySqlCommand("DELETE FROM siswa WHERE `id`= '" + id + "'", Koneksi.conn);
cmd.ExecuteNonQuery();
MessageBox.Show("Berhasil Hapus Data Siswa");
Koneksi.conn.Close();
Tampil();
Clear();
}
catch (Exception)
{
MessageBox.Show("Hapus Data Gagal");
}
Cancel Inputan
Klik 2x pada Tombol Cancel, kemudian masukkan kode berikut :
Clear();
Pencarian Data Siswa
Klik 2x Textbox Pencarian, kemudian inputkan kode berikut ini :
try
{
Koneksi.conn.Open();
MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `siswa` where nama LIKE '%"+txtcari.Text+"%'", Koneksi.conn);
DataSet ds = new DataSet();
da.Fill(ds);
dgsiswa.DataSource = ds.Tables[0];
Koneksi.conn.Close();
}
catch (Exception)
{
MessageBox.Show("Duh!!, Ada Error Nih");
}
Sampai disini anda sudah berhasil membuat Crud Data Siswa, untuk Coding form form berikutnya sebetulnya sama dengan Form siswa, hanya mengganti Query dan Komponen inputan saja, namun agar lebih dimengerti, akan saya contohkan pada form-form berikutnya





