Mengakses database MySQL melalui .NET Framework tentunya membutuhkan MySQL connector. Anda dapat mendownload connector-nya di sini. Instal MySQL connector dan kemudian pada project anda, tambahkan References berupa library yang bernama "MySql.Data".
Silahkan download DLL yang telah saya buat di sini. Tambahkan References dengan cara Browse DLL, pilih DLL yang anda download tadi. Jika sudah siap, maka saatnya kita memulai tahap penggunaan DLL.
Sebagai bahan praktek, buatlah sebuah database dengan sebuah tabel menggunakan kode SQL berikut ini :
CREATE TABLE IF NOT EXISTS `tb_mahasiswa` ( `nim` INT(10) NOT NULL PRIMARY KEY, `nama` VARCHAR(40), `alamat` VARCHAR(100) );
Setelah itu, buatlah kelas model untuk tabel tersebut.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Introvesia.MySql; namespace Test { class Mahasiswa : Model { public override string TableName { get { return "tb_mahasiswa"; } } } }
Dari form utama anda, tambahkan kode untuk melakukan koneksi ke database MySQL dengan contoh kode di bawah ini :
Connector.Connect("localhost", "root", "1234", "db_akademik");
Sesuaikan parameter yang anda masukkan dengan konfigurasi database MySQL anda. Secara berurutan parameter yang dimasukkan adalah nama host, nama user, password, dan nama database yang ingin diakses. Silahkan masukkan beberapa data ke dalam tabel secara manual.
Menampilkan Semua Data
Mahasiswa mhs = new Mahasiswa(); List<Hashtable> rows = mhs.FindAll(); foreach(Hashtable row in rows) { Console.WriteLine(row["nim"] + " " + row["nama"] + " " + row["alamat"]); }
Menambahkan opsi untuk mem-filter hasil pembacaan record. Opsi dimasukkan sebagai parameter pada fungsi findAll(). Opsi yang dimasukkan menggunakan tipe data Hashtable. Berikut adalah member yang dapat dimasukkan ke dalam opsi.
select - Untuk menentukan field mana saja yang akan ditampilkan.
where - Untuk mem-filter hasil pembacaan menggunakan kondisi tertentu.
having - Untuk mem-filter hasil pembacaan berdasarkan kondisi menggunakan hasil data yang akan ditampilkan.
groupBy - Untuk menggrupkan record berdasarkan field.
orderBy - Untuk menyortir record berdasarkan field, baik secara ascending maupun descending.
Contoh penggunaan opsi :
Mahasiswa mhs = new Mahasiswa(); Hashtable options = new Hashtable(); options["select"] = "nim, nama, LENGTH(nama) AS panjang_nama"; options["where"] = "nim = '%1'"; options["orderBy"] = "nim DESC"; options["groupBy"] = "alamat"; options["having"] = "panjang_nama <= 5"; List<Hashtable> rows = mhs.FindAll(options); foreach(Hashtable row in rows) { Console.WriteLine(row["nim"] + " " + row["nama"] + " " + row["alamat"]); }
Mengakses Sebuah Record
Mahasiswa mhs = new Mahasiswa(); string nim = "0001"; mhs.Find(nim); Console.WriteLine(mhs.Data["nim"]); Console.WriteLine(mhs.Data["nama"]); Console.WriteLine(mhs.Data["alamat"]);Pada fungsi Find() juga dapat anda tambahkan opsi seperti pada fungsi FindAll(). Struktur datanya sama saja.
Mahasiswa mhs = new Mahasiswa(); string nim = "0001"; mhs.Find(nim); mhs.Set["nama"] = "Andi"; mhs.Set["alamat"] = "Samarinda"; mhs.Update();
Hapus Record
Mahasiswa mhs = new Mahasiswa(); string nim = "0001"; mhs.Find(nim); mhs.Delete();
Tambah Record
Demikianlah tulisan saya kali ini, semoga dapat menginspirasi dan membantu anda. Jika anda pertanyaan maupun saran, silahkan kirimkan pada form komentar. Ke depannya DLL ini akan terus dikembangkan.
Mahasiswa mhs = new Mahasiswa(); mhs.Set["nim"] = "0009"; mhs.Set["nama"] = "Sinta"; mhs.Set["alamat"] = "Jakarta"; mhs.Insert();
Demikianlah tulisan saya kali ini, semoga dapat menginspirasi dan membantu anda. Jika anda pertanyaan maupun saran, silahkan kirimkan pada form komentar. Ke depannya DLL ini akan terus dikembangkan.
Tidak ada komentar:
Posting Komentar