sedikit sharing buat temen2 yang lagi belajar pemograman gambas yang berjalan di sistem operasi linux, ne ane ada sedikit tutorial cara menghubungkan gambas dengan mysql, ane pake ubuntu-10.10 dan untuk mysql nya ane pake XAMPP,
berikut langkah-langkahnya,
semoga bermanfaat.
PUBLIC db AS NEW Connection
PUBLIC rs AS Result
PUBLIC SUB Form_Open()
TextBox1.Enabled = FALSE 'textbox terkunci saat form di load
cmbjk.Add("LK")
cmbjk.Add("PR")
Button3.Enabled = FALSE
Button3.Caption = "Hapus" 'membuat caption "hapus" pada button3
Button2.Caption = "tambah"
Button1.Caption = "Simpan"
Button1.Enabled = FALSE 'button tidak aktif saat form di load
ME.Center 'form berada di tengah
koneksi
'script untuk mengoneksikan gambas dgn mysql pada databases "lampu-jalan"
PUBLIC SUB koneksi()
WITH db
.Host = "localhost"
.Login = "root"
.Password = "password mysql anda"
.Name = "lampu-jalan"
.Open
END WITH
CATCH
Message.Warning("connection error to database lampu-jalan", " exit ") ' jika tidak terkoneksi dengan database munculkan pesan
QUIT
END
PUBLIC SUB Button1_Click() 'simpan
DIM sql AS String
IF TextBox1.Text = "" OR TextBox2.Text = "" OR TextBox3.Text = "" OR cmbjk.Text = "" OR TextBox5.Text = "" THEN 'jika masih ada data yang belum di isi munculkan pesan
Message.Info("data masih ada yang kosong, silahkan lengkapi !!", "ok")
ELSE
sql = "insert into dejitu (nim,nama,alamat,JK,tgl_lahir) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & textbox3.Text & "','" & cmbjk.Text & "','" & textbox5.Text & "')" 'memasukkan data kedalam database
db.Exec(sql) 'berfungsi untuk menjalankan perintah sql di atas
Message.Info("data sudah tersimpan")
Button1.Enabled = FALSE
TextBox1.Enabled = FALSE
ENDIF
CATCH
Message.Warning("nim sudah ada !!", "ok")
TextBox1.SetFocus
TextBox1.text = ""
END
PUBLIC SUB Button2_Click() 'tambah
TextBox1.Enabled = TRUE
Button1.Enabled = TRUE
Button3.Enabled = FALSE
bersih
END
PUBLIC SUB bersih() 'membersihkan text
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
cmbjk.Text = ""
TextBox5.Text = ""
TextBox1.SetFocus 'kursor berada di textbox1
END
PUBLIC SUB hapus()
DIM sql AS String
Message.Info("data berhasil dihapus")
sql = "delete from dejitu where nim = '" & TextBox1.Text & "'"
db.Exec(sql)
bersih
CATCH
Message.Info("data tidak ditemukan!!", "ok")
END
PUBLIC SUB Button3_Click()
hapus
END
PUBLIC SUB TextBox6_LostFocus()
'TextBox6.Text = "masukkan nim"
END
PUBLIC SUB Button4_Click() 'cari
DIM cari AS String
cari = " select * from dejitu where nim = '" & TextBox6.Text & "'"
rs = db.Exec(cari)
' memasukkan record tabel pada textbox
TextBox1.Text = rs!nim
TextBox2.Text = rs!nama
TextBox3.Text = rs!alamat
cmbjk.Text = rs!jk
textbox5.Text = rs!tgl_lahir
TextBox6.Text = ""
Button3.Enabled = TRUE
Button1.Enabled = FALSE
TextBox1.Enabled = FALSE
CATCH 'bila data kosong munculkan pesan
Message.Info("data tidak ditemukan", "ok")
TextBox6.Text = ""
TextBox6.SetFocus
END
PUBLIC SUB TextBox6_GotFocus()
TextBox6.Text = ""
END
PUBLIC SUB Button5_Click()
ME.Close
END
berikut langkah-langkahnya,
semoga bermanfaat.
- buat database di mysql dengan nama "lampu-jalan" dan tabel "dejitu" caranya, buka console/terminal : lalu ketik perintah :# mysql -u root -p masukkan password mysqlnya. buat database dengan perintah : "mysql > create database lampu-jalan" lalu ketikkan "mysql > use lampu-jalan" untuk masuk dalam database lampu-jalan, lalu buat tabel dengan nama dejitu, ketik perintah : "mysql > create table dejitu (nim int(5) auto_increment not null primary key ,nama varchar(25),alamat varchar(30),JK char(2), tgl_lahir date default "0000-00-00") "lalu enter.
- setelah selesai membuat database sekarang kita akan mendisaign programnya tentunya dengan menggunakan gambas. sekarang buka program gambas temen2 lalu design formnya menjadi sbb :
3. sebelumnya aktifkan dulu component gb.db untuk memberikan access ke mysql, pilih di : project > properties >component > centang gb.db , lalu tulis script berikut ini pada form :
' Gambas class file
'membuat jembatan antara gambas dan mysqlPUBLIC db AS NEW Connection
PUBLIC rs AS Result
PUBLIC SUB Form_Open()
TextBox1.Enabled = FALSE 'textbox terkunci saat form di load
cmbjk.Add("LK")
cmbjk.Add("PR")
Button3.Enabled = FALSE
Button3.Caption = "Hapus" 'membuat caption "hapus" pada button3
Button2.Caption = "tambah"
Button1.Caption = "Simpan"
Button1.Enabled = FALSE 'button tidak aktif saat form di load
ME.Center 'form berada di tengah
koneksi
END
'script untuk mengoneksikan gambas dgn mysql pada databases "lampu-jalan"
PUBLIC SUB koneksi()
WITH db
.Close
.Type = "mysql".Host = "localhost"
.Login = "root"
.Password = "password mysql anda"
.Name = "lampu-jalan"
.Open
END WITH
CATCH
Message.Warning("connection error to database lampu-jalan", " exit ") ' jika tidak terkoneksi dengan database munculkan pesan
QUIT
END
PUBLIC SUB Button1_Click() 'simpan
DIM sql AS String
IF TextBox1.Text = "" OR TextBox2.Text = "" OR TextBox3.Text = "" OR cmbjk.Text = "" OR TextBox5.Text = "" THEN 'jika masih ada data yang belum di isi munculkan pesan
Message.Info("data masih ada yang kosong, silahkan lengkapi !!", "ok")
ELSE
sql = "insert into dejitu (nim,nama,alamat,JK,tgl_lahir) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & textbox3.Text & "','" & cmbjk.Text & "','" & textbox5.Text & "')" 'memasukkan data kedalam database
db.Exec(sql) 'berfungsi untuk menjalankan perintah sql di atas
Message.Info("data sudah tersimpan")
Button1.Enabled = FALSE
TextBox1.Enabled = FALSE
ENDIF
CATCH
Message.Warning("nim sudah ada !!", "ok")
TextBox1.SetFocus
TextBox1.text = ""
END
PUBLIC SUB Button2_Click() 'tambah
TextBox1.Enabled = TRUE
Button1.Enabled = TRUE
Button3.Enabled = FALSE
bersih
END
PUBLIC SUB bersih() 'membersihkan text
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
cmbjk.Text = ""
TextBox5.Text = ""
TextBox1.SetFocus 'kursor berada di textbox1
END
PUBLIC SUB hapus()
DIM sql AS String
Message.Info("data berhasil dihapus")
sql = "delete from dejitu where nim = '" & TextBox1.Text & "'"
db.Exec(sql)
bersih
CATCH
Message.Info("data tidak ditemukan!!", "ok")
END
PUBLIC SUB Button3_Click()
hapus
END
PUBLIC SUB TextBox6_LostFocus()
'TextBox6.Text = "masukkan nim"
END
PUBLIC SUB Button4_Click() 'cari
DIM cari AS String
cari = " select * from dejitu where nim = '" & TextBox6.Text & "'"
rs = db.Exec(cari)
' memasukkan record tabel pada textbox
TextBox1.Text = rs!nim
TextBox2.Text = rs!nama
TextBox3.Text = rs!alamat
cmbjk.Text = rs!jk
textbox5.Text = rs!tgl_lahir
TextBox6.Text = ""
Button3.Enabled = TRUE
Button1.Enabled = FALSE
TextBox1.Enabled = FALSE
CATCH 'bila data kosong munculkan pesan
Message.Info("data tidak ditemukan", "ok")
TextBox6.Text = ""
TextBox6.SetFocus
END
PUBLIC SUB TextBox6_GotFocus()
TextBox6.Text = ""
END
PUBLIC SUB Button5_Click()
ME.Close
END
untuk nama variabelnya silahkan temen2 sesuaikan sendiri dengan scriptnya,
mudah2an bisa bermanfaat...