Pada penggunaan
procedure database MySQL, kita mengenal 3 macam deklarasi untuk
memberikan peran suatu variable, apakah sebagai data masukan (input)
yang ditandai dengan IN, ataukah sebagai data keluaran (hasil) yang
ditandai dengan OUT, atau sebagai keduanya INOUT.
Nah, pada artikel
kali ini membahas cara mengambil nilai keluaran/hasil (@) yang
ditandai dengan OUT pada deklarasi variabel suatu procedure.
Misal mempunyai
procedure yang mempunyai struktur sebagai berikut:
DELIMITER $
CREATE PROCEDURE
Tes(OUT nilai CHAR(2))
BEGIN
SET nilai = “Ok”
END$
DELIMITER ;
Jika kita memanggil
nilai pada procedure menggunakan Terminal/CMD (Shell Mode):
MariaDB [NamaTabel]>
CALL Tes(@ambilnilai);
MariaDB [NamaTabel]>
SELECT @ambilnilai hasil;
+-----------+
| hasil |
+-----------+
| Ok |
+-----------+
Nb: “@ambilnilai
hasil” sama dengan “@ambilnilai As hasil”
Jika menggunakan
pemrogaman gambas:
Telah dibuatkan
Modul khusus untuk koneksi databases yang diberi nama “Dataku”.
Sedangkan dalam Modul Dataku dibuatkan fungsi koneksi database MySQL
yang bernama “Hubungkan”:
' Gambas module file
Public
KoneksiDatabase As New Connection
Public Function
Hubungkan() As Boolean
With
KoneksiDatabase
.Close()
.Type = "mysql"
.Host =
"localhost"
.Login = "root"
.Password =
"123456"
.name =
"tesfunction"
.Open()
End With
Return True
Catch
Message.Warning("Ada masalah, tidak dapat terhubung ke server
sql", "OK")
Return False
End
Karena hanya sekedar
contoh dan saya tidak mau ribet, saya kasih contoh pembuatan Aplikasi
dengan mode Console (bukan FormGUI). Kita buatkan Modul Main untuk
eksekusinya dengan nama Aplikasiku, yang di dalamnya terdiri dari
perintah-perintah berikut:
‘ Gambas module
file
Public Sub
Form_Open()
Dataku.Hubungkan
End
Public Sub Main()
Dim hsl As
Result
hsl =
Dataku.KoneksiDatabase.Exec("CALL Tes(@ambilnilai)").Connection.Exec("SELECT @ambilnilai
hasil")
Print hsl!hasil
End
Result: Ok
Penggunaan procedure
diatas adalah contoh sederhana sebagai dasar penggunaan yang lebih
kompleks lagi.
Semoga dapat
difahami dan bermanfaat.
Terima kritik dan
saran.
Kurang lebihnya,
mohon dimaafkan.