kali ini saya akan bagikan tentang memasukkan data dari tabel [database] ke dalam sebuah combobox
ya cara termudah menggunakan komponen dbCombobox, tapi cara ini menurut saya kurang efektif,
mengapa? karena dengan menggunakan dbCombobox, koneksi data akan terus terbuka, sehingga jika data yang ada banyak, akan sangat lambat dalam operasi select. insert, update
oleh karena itu, saya menggunakan komponen standar yaitu combobox.
oke langsung saja gan ni codingnya :
Procedure SQL(IsiSQL : String);
begin
with form1 do
begin
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add(IsiSQL);
adoQuery1.Open;
end;
end;
Procedure IsiCombobox(Result : String);
begin
with form1 do
begin
Combobox1.Items.Clear;
while not adoQuery1.eof do
begin
Combobox1.items.add(Q.FieldByName(Result).Value);
adoQuery1.Next;
end;
end;
end;
nah Result disana adalah sebuah parameter
jadi kita bisa pakai function diatas berulang kali
misalnya :
kita ingin menampilkan daftar NAMA MAHASISWA dari tabel mahasiswa
maka implemetasinya : (asumsikan bahwa NAMA MAHASISWA berada di field NAMA
isi dulu SQLnya
SQL('SELECT * FROM mahasiswa');
IsiCombobox('NAMA');
nah kalo kita pengen ganti ke field lain, tinggal ubah lagi
IsiCombobox('ALAMAT');
Mudah kan pemirsa?
oke sekian dlu, saya lanjutin project lain dlu
terimakasih telah berkunjung di blog saya ^_^
kurang jelas gan, prosedur sql nya bikin prosedur lagi apa gmn?
BalasHapusterimakasih telah membaca,
Hapusdiatas ada prosedur SQL, dibuatnya di delphi kok gan,
seperti prosedur biasa, isikan parameter SQL dengan query yang kita perlukan
kalo tidak mau pake procedure, seperti ini :
contoh di event form show --
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('SELECT KTP, Nama, alamat FROM penduduk');
adoQuery1.Open;
//contoh memasukkan daftar nama ke combobox
Combobox1.Items.Clear;
while not adoQuery1.eof do
begin
Combobox1.items.add(Q.FieldByName('Nama').Value);
adoQuery1.Next;
end;
maaf salah,
HapusQ disana diganti dengan AdoQuery1
//contoh memasukkan daftar nama ke combobox
Combobox1.Items.Clear;
while not adoQuery1.eof do
begin
Combobox1.items.add(AdoQuery1.FieldByName('Nama').Value);
adoQuery1.Next;
end;
Mas mau tanya..
BalasHapusApabila dlm 1 form sy ingin memunculkan Nama dari tabel Siswa dan Kelas dari table kelas, yang ditambahkan apanya yak..?
artinya memunculkan field2 dr tabel yang berbeda di database
HapusHalo.. terimakasih telah berkunjung di giavano.blogspot.com
HapusMisalnya :
NIS dari tabel SISWA
NIP dari tabel GURU
contoh di event form show --
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('SELECT nis FROM siswa');
adoQuery1.Open;
//contoh memasukkan daftar nama ke combobox
Combobox1.Items.Clear;
while not adoQuery1.eof do
begin
Combobox1.items.add(ADOQuery1.FieldByName('NIS').Value);
adoQuery1.Next;
end;
kemudian masih di event yang sama, atau dibawahnya,
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('SELECT nip FROM guru');
adoQuery1.Open;
//contoh memasukkan daftar nama ke combobox
Combobox1.Items.Clear;
while not adoQuery1.eof do
begin
Combobox2.items.add(ADOQuery1.FieldByName('NIP').Value);
adoQuery1.Next;
end;
coding itu masih bisa disederhanakan, silahkan bereksplorasi,,
maaf yang kedua bukan Combobox1.Items.clear, tapi Combobox2.items.clear.
Hapussilahkan disesuaikan
maaf yang kedua bukan Combobox1.Items.clear, tapi Combobox2.items.clear.
Hapussilahkan disesuaikan
terima kasih, sangat membantu.. tapi ada sedikit keinginan untuk membuat combobox yang isinya hanya data unik saja, contoh ada field jurusan yang isinya : TKJ,TKJ,TKR,TKJ,TKR,GEO,TKR,GEO...dst..
BalasHapusagar yang tampil di combobox : TKJ,TKR,GEO saja..
trims sebelumnya..
Halo trimakasih sudah berkunjung d blog saya.
HapusCpba pakai select fistinct..
Biasanya untuk kasus seperti itu, di database saya buat ytabel baru lagi, yg disebut helper.
Jadi bila suatu saat ada pertambahan kategori, ckup tambahkan saja di tabel helper.
Maksudnya
HapusSelect distinct
Maaf ngetik di hape jd begini nih.. hehe
pagi mas.....aku ada masalh nie mas.....bagaimana caranya data dari tabel mahasiswa yang relasinya ke matakuliah dimana di tabel matakuliah nim dan nama hanya dipilih dan combobox diisi denga data nim,jika nim di click maka nama otomatis muncul pada edit text.....tolong mas...!!!!!!!! makasih...
BalasHapussukses tutornya gan..
BalasHapusbtw kalo mau nampilin data dari combobox ke edit nya gmna ya..
misal data combobox : "SUP001" pas dipilih muncul di edit nya NAMA : PT. TALAK TILU
makasih..
kurang jelas prosedur caranya itu cuman di scriptnya aja
BalasHapus