mas frengki, di ADO/DAO semua data yg kita query ke database PASTI akan disimpan di object recordset.
dg membuat object connection dan recordset dari kode, kita ga perlu lagi menambahkan component ADODC seperti yg mas frengki gunakan, karena fungsi dari component ADODC hanya u. mempermudah proses pengambilan data dari database tanpa harus menuliskan kode apapun.
kalau pake ADODC, pasti mas frengki melakukan hal2 berikut ini:
- menambahkan component Adodc1 ke form
- set property connection nya ke odbc atau ke file access atau ke dbserver
- pilih sourcenya table atau sp atau query, atau lewat kode kayak yg mas frengki pake tadi: adodc1.recordsource = "select blalalalaa"
- set grid datasource ke Adodc1
ok, sebenarnya yg dilakukan oleh ADODC component ini adalah
- buat dan buka koneksi ke database
- simpan hasilnya ke object recordset yg diberi nama: Adodc1.Recordset
nah kalau perintah Set DataGrid1.DataSource = Adodc1 bisa dipakai itu kemungkinan besar karena default property dari component ADODC ini adalah object Adodc1.Recordset
jadi, kalau kita melakukan akses dan pengolahan database dg script ADO, kita HANYA harus menambahkan reference ke MS ActiveX Data Object dan ga perlu lagi menambahkan component ADODC ke form aplikasi kita.
dalam kode mas frengki tadi, object connection yg dibuat di form load itu sama sekali ga berguna karena dia hanya membuka koneksi ke database dan setelah itu ga melakukan apapun, proses pengambilan data dilakukan oleh Adodc1. jd disini ada 2 koneksi yg terbuka, satu dari object connection satu lagi dari Adodc1, hasilnya malah aplikasi akan lambat karena harus melakukan verifikasi ada tidaknya db dan membuka koneksi ke database yg sama 2x.
sekarang alasan knp kita memilih ga pake ADODC komponen? karena adodc komponen itu ga fleksibel, kita ga bisa trap event2 seperti before update, after delete dll.
buat mas dayat, di vb6 ada dua macam cara memberikan nilai ke property, pertama kalau propertynya berupa variabel biasa (string, long dll), kita cukup pake tanda =, yg kedua kalau propertynya berupa object, selain = kita juga harus menggunakan keyword set spt:
Set DataGrid1.DataSource = Recordset
mudah2an ga salah :)
best regards
[wwn]
On 4/15/06, Frengki Bunga <[EMAIL PROTECTED]> wrote:
Bagi jagoan vb CMIIW ya...Kalau kamu pake code "SELECT * FROM TblBarang"Harusnya tidak perlu pakai RecordsetKalau saya tidak salah bukannya seperti dibawah ini ?Dim Connection As New ADODB.ConnectionPrivate Sub cmdTampilData_Click()
Call TampilData
End SubPrivate Sub Form_Load()
Set Connection = New ADODB.Connection
Connection.open "data"
End SubPublic Sub TampilData()
Dim xxx As Stringxxx = "select * from tblbarang"
Adodc1.RecordSource = xxx
Set DataGrid1.DataSource = Adodc1DataGrid1.Refresh
End SubPrivate Sub Form_Unload(Cancel As Integer)
Connection.Close
Set Connection = Nothing
End Sub----- Original Message -----From: dayatSent: Friday, April 14, 2006 5:13 PMSubject: [Programmer-VB] Nanya Recordset dan DataGrid1
aku buat koding berikut iniSub TampilData()Dim Connection As New ADODB.ConnectionDim Recordset as RecordsetConnection.Open "DATA" ' diambil dari ODBCSet Recordset=Connection.Execute("SELECT * FROM TblBarang")DataGrid1.DataSource=Recordsetend subgi bisa jalan. tolong teman2
Wahana Programmer Groups Links
<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
http://wahanaprogrammer.net
<*> Untuk menghubungi owner milis ini, kirim email ke:
[EMAIL PROTECTED]
<*> Konsultasi pemrogramman bisa chat disini:
Yahoo! Messenger: wahanaprogrammer
YAHOO! GROUPS LINKS
- Visit your group "Programmer-VB" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
