Setelah membahas tentang koneksi Visual Basic ke MySQL, sekarang kita akan mendiskusikan tentang cara membuka data dari server setelah kita terkonek/terhubung dengan server MySQL. Sebetulnya cara membuka data ini sama dengan membuka ke server-server database yang lain. Cuman kali ini kita akan fokus dengan MySQL.
Langkah pertama yang kita ambil adalah membuat object Recordset dulu. Lalu Recordset ini lah yang akan kita manipulasi untuk membuka data dari server. Coba kita lihat dari satu prosedur lengkap yang saya tulis ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Private Sub edit_data() '/deklarasikan variable-variable yang digunakan Dim rs_edit As New ADODB.Recordset Dim kode_trans As String Dim str_open As String '/tautkan variable kode_trans = Trim(txtkode_barang_masuk.Text) '/set string sql str_open = "SELECT * FROM tbl_barang_masuk WHERE kode_transaksi='" & kode_trans & "'" '/buka data With rs_edit .CursorLocation = adUseClient .Open str_open, myconn, adOpenStatic, adLockReadOnly .Requery If .RecordCount <= 0 Then MsgBox "Kode Transaksi : " & kode_trans & " tidak ditemukan!", vbExclamation, "Tidak Ketemu" txtkode_barang_masuk.Text = "" Else cmbtgl_trans.Value = .Fields("tgl_trans").Value txtkode_supplier.Text = .Fields("kode_supplier").Value End If End With '/hapus memory Set rs_edit = Nothing End Sub |
Di blok awal deklarasikan dulu variable-variable yang akan anda gunakan, yang paling penting kali ini adalah membuat variable yang memuat recordset, yaitu dengan Dim rs_edit As New ADODB.Recordset. Variable recordsetnya jadi saya beri nama rs_edit dan saya memilih ADO sebagai object koneksinya (ya iyalah masa hari gini masih pakai DAO) Lalu buat variable untuk membuat SQL string nya, bisa saja langsung ditulis setelah metode Open, tapi saya lebih suka untuk memisahkan untuk debugging jauh lebih bagus. Karena kali ini kita akan membuat data, kita akan gunakan statement SQL: SELECT.
Setelah itu baru kita buka data. Karena MySQL tidak mendukung cursor di server, kita akan letakkan cursor di Client. Jadi tulis .CursorLocation = adUseClient untuk set itu. Di baris selanjutkan kita bisa lihat ada baris untuk membuka data dari SQL statement yang sudah kita buat: .Open str_open, myconn, adOpenStatic, adLockReadOnly.
Biasanya setelah terbuka saya deteksi apakah ada data atau tidak, jika tidak saya akan beritahukan user. Tetapi jika sudah ada datanya, tautkan nilainya ke control anda, seperti baris yang berikut: cmbtgl_trans.Value = .Fields("tgl_trans").Value. Baris adalah mentautkan field tgl_trans ke DatePicker yang saya beri nama cmbtgl_trans.
Jika anda hanya ingin membuka dan mentautkan ke control-control disuatu form, anda bisa menghapus variable recordset setelah terpakai untuk menghemat resource. Anda bisa langsung menghancurkan variable tersebut dengan statement Set rs_edit = Nothing.
Langganan feed komentar-komentar atau tinggalkan sebuah trackback
















salam kenal mas edi,
saya mencoba membuat sesuai contoh,
tapi ketika di run dan di klik adodb nya
muncul pesan [MySQL][ODBC 3.51 Driver][mysql-4.0.17-standard-log]update command denied to user bla..bla..bla for table bla..bla..,
itu kenapa ya mas?
apakah priviledgenya harus penuh (bisa insert,update,dll), mengingat user saya cuma bisa select aja
terimakasih ditunggu sekali mas jawabannya
buetul bro, ketika membuat user berikan privelege syntax dasar nya, at least select, update dan insert