MySQL + Delphi = Error? Someone Asked Me About These

Dear All,
lama lagi deh, kita bahas tentang Delphi & MySQL, ya? Ini posting  saya lagi, sehubungan beberapa waktu ada rekan yang nanya beberapa pertanyaan berikut ini. Dan saya kebetulan di warnet, jadi saya jawab saja sesuai pengalaman dan tanpa referensi atau test-before-use. Jadi buat rekan lainnya, CMIIW saja. Thanks for all🙂

Baik, berikut ini pertanyaannya yang langsung saya jawab:

  • Koneksi Delphi – MySQL, di komputer yang telah diinstal PHPMyAdmin. Apakah saling mempengaruhi?
    Tidak. Delphi & PHPMyAdmin sama-sama menjadi klien – dalam kasus ini – terhadap MySQL Server. MySQL Server akan memperlakukan keduanya sama, seolah keduanya adalah Delphi [ DBExpress ] atau keduanya adalah PHPMyAdmin. Jadi gak ada masalah.
  • Bagaimana hubungannya dengan error “Unable to load LibMySQL.dll”? Apakah terkait juga dengan MySQLFront?
    Sekali lagi tidak.
    [+]Error “Unable to load LibMySQL.dll” disebabkan karena file client library “LibMySQL.dll” tidak ditemukan pada path/direkotri yang seharusnya, yaitu %Windows%, %Windows%\System32, atau pada folder %DELPHI_PATH%\Bin. Sedang untuk aplikasi yang sudah jadi, file ini cukup berada dalam satu folder dengan file exe aplikasi Anda.
    [+]Bila ternyata Anda menemukan bahwa file LibMySQL.dll sudah ada di direktori-direktori tersebut dan masih juga mendapatkan error yang sama, cek lagi apakah versi MySQL Server yang Anda gunakan didukung oleh Delphi yang Anda pakai sebagai development tool.
    Ini penting, mengingat Delphi yang berbeda mendukung versi MySQL yang berbeda. Walaupun Codegear menekankan isu backward-compatibility pada Delphi, tetap saja saya temukan error seperti ini untuk versi MySQL yang sama, bila berpasangan dengan versi Delphi yang lebih baru.
    Jadi saran saya, kopilah file LibMysql.DLL dari direktori %MySQL_PATH%\Bin ke direktori-direktori yang saya sebut di atas. Ini akan menjamin LibMySQL.dll yang digunakan Delphi, juga aplikasi Anda tentunya, adalah sesuai dengan versi MySQL Server yang Anda gunakan.
  • Insert data dengan script SQL, bagaimana caranya?
    Seperti pada database lainnya – yang mendukung SQL – , Anda bisa menambah, mengedit dan menghapus data pada MySQL Server menggunakan SQL script.
    Misalnya, Anda punya tabel dengan struktur berikut:

    1. ID Int(4) not null auto_increment
    2. Nama varchar (30) not null
    3. Umur int(2) not null
    4. Telepon varchar (15)

    Nah, bila Anda ingin menambah data, tiga field terakhir saja yang perlu Anda isi, karena field pertama adalah auto_increment, yang otomatis diisi oleh MySQL:

    SQL:='Insert into MyTabel (Nama, Umur, Telepon)
      values (
      "'+EditNama.Text
      '", '+IntToStr(EditUmur.Text)
      +', "'+EditTelepon.Text+'")';
    SQLQuery1.Sql.Text:=SQL;
    SQLQury1.ExecSQL(); // --> Jangan gunakan open() karena mengakibatkan error
    

    Untuk diperhatikan, nilai-nilai string harus diapit dengan tanda petik ganda (), jadi untuk menulisa nama harus dengan bentuk “Joko Rivai”. Untuk nilai yang diperoleh dari input TextBox, silahkan gunakan cara ini

    '"'+EditNama.Text+'"';
    

    Atau, untuk lebih mudah, Delphi telah menyediakan sebuah fungsi untuk mengapit suatu nilai dengan tanda petik ganda:

    QuotedStr(Edit1.Text);
    //Akan menghasilkan '"'+Edit1.Text +'"';
    

    OK.
    Sekarang untuk menghapus data, misalnya data orang bernama JohnDoe:

    SQL:='Delete from MyTabel where Nama = '"JohnDoe"';
    SQL:='Delete from MyTabel where Nama = '"' + EditNama.Text + '"';
    SQL:='Delete from MyTabel where Nama = ' + QuotedStr(EditNama.Text);
    <pre>SQLQuery1.Sql.Text:=SQL;
    SQLQury1.ExecSQL(); // --> Jangan gunakan open() karena mengakibatkan error
    

OK. Banyak mau saya tulis, tapi capek daah. MySQL kalau dibahas, bisa setahun kaga’ habis-habis. Baca deh di MySQL Develover Online Reference Manual atau langsung saja download Helpnya.

One thought on “MySQL + Delphi = Error? Someone Asked Me About These

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s