Koneksi Database C# MySql

[D]alam hal urusan database, C# .NET biasanya ditandemkan dengan SQL Server karena keduanya adalah teknologi hasil kreasi Microsoft. Namun seperti biasa karena urusan pasar maka suatu bahasa harus mendukung banyak database, terutama engine-engine yang sudah terkenal seperti MySql dan Oracle.

MySql Koneksi

Tulisan ini dimaksudkan untuk membahas koneksi database C# ke MySql serta dasar operasi CRUD menggunakan teknologi database dasar yang disediakan oleh platform .NET yaitu ADO.NET.

Konektor MySql

Untuk bisa menggunakan MySql di .NET kita perlu menambahkan sebuah driver kedalam reference project kita. Sebelumnya buat terlebih dahulu project dengan tipe console.

Ada 2 cara untuk menambahkan driver MySql. Pertama dengan cara download manual di situs resmi MySql kemudian dimasukkan ke project reference secara manual pula. Kedua menggunakan cara yang lebih modern yaitu melalui Nuget. Saya pakai cara kedua, untuk itu kita butuh koneksi internet

Klik kanan pada node project kemudian pilih Manage Nuget Packages…

Pada pojok kanan atas masukkan keyword mysql. Cari yang bernama MySql.Data kemudian tekan install

1. nuget package

Cek pada node references kalau package sudah terinstal

2. References

Membuat Koneksi

Syarat pertama agar C# bisa ngomong dengan MySql adalah tersedianya koneksi. Jadi langkah pertama yang kita lakukan adalah membangun koneksi ke MySql terlebih dahulu.

Dalam membuat koneksi dibutuhkan sesuatu yang dinamakan Connection String yaitu string yang memuat informasi koneksi ke database yang berisi :
– Lokasi database server berada
– Nama database
– User database
– Password user database

Contohnya adalah seperti di bawah ini

Operasi Read

Operasi pertama yang wajib dipelajari adalah bagaimana cara mendapatkan data dari database. Asumsi saya di sini adalah pembaca sudah pernah belajar SQL (Structured Query Language) sebelumnya, jadi sudah tidak asing dengan perintah “SELECT bla bla bla” dan kawan-kawannya.

Di bawah adalah contoh kode untuk memperoleh data dari database.

Langkah pertama adalah membuat koneksi seperti yang sudah saya jelaskan di atas, kemudian membuat MySqlCommand yang berisi perintah SQL dan mengeksekusinya dan terkahir menampilkan hasilnya yang terdapat pada objek MySqlReader

Operasi Insert

Operasi baca data di atas mengharuskan ada data terlebih dahulu terdapat pada database. Bagaimana cara memasukkan data ke database ditunjukkan pada bagian ini.

Perhatikan kode berikut

Selalu dimulai dengan membuat koneksi kemudian membuat objek command dan mengeksekusinya. Beda dengan contoh pada operasi baca data yang menggunakan mehtod ExecuteReader maka di sini yang digunakan adalah ExecuteNonQuery karena perintah SQL yang digunakan bukanlah perintah untuk melakukan query (mendapatkan data).

Selain itu digunakan juga MySqlParameter sebagai parameter untuk perintah query. Cara ini lebih elegan dan lebih enak dibaca daripada menggunakan string concatenation. Alasan utamanya adalah masalah keamanan dari serangan Sql Injection

Operasi Update

Berikutnya operasi update untuk memperbaharui data yang sudah ada. Langsung saja lihat kode di bawah

Teknik di atas mirip dengan operasi insert hanya beda perintah saja dan jumlah parameter. Selebihnya sama

Operasi Delete

Terakhir adalah operasi delete yang akan menghapus data pada database. Contohnya terpampang sebagai berikut.

Operasi ini juga mirip dengan insert maupun update. Tidak ada perbedaan yang berarti kecuali SQL-nya yang menggunakan klausa DELETE.

Semoga bermanfaat dan enjoy coding! 😉

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

2 thoughts on “Koneksi Database C# MySql

Leave a Reply

Your email address will not be published. Required fields are marked *