menurutku ya mas,
pertama:
baris berikut ini sama sekali ga perlu, beserta dengan deklarasi object adodb.command yg didepan/bagian deklarasi:
With com
.ActiveConnection = con
.CommandText = "select A from table01"
.Execute
End With
alasannya:
u. query select, gunakan object recordset karena query tersebut memberikan kembalian berupa kumpulan record (record + set).
gunakan object command u. melakukan query2 yg tidak memerlukan kembalian seperti query2 update, insert, modify table dll. (disini kita hanya memberikan perintah/command pada server)
kedua:
u. masalah datasource, coba set cursor locationnya ke adUseClient
ketiga:
u. menghemat memory+mempercepat aplikasi, alangkah lebih baik apabila setiap kali kita melakukan pemesanan tempat/alokasi memory u. sebuah object (dalam hal ini object adodb.connection, adodb.recordset, dan adodb.command
), disertai dengan dealokasi memory sebelum keluar method atau app.
Set con = nothing
Set rst = nothing
Set rst = nothing
Set rst1 = nothing
Set com = nothing
hal ini berbeda dengan vb.net yg penanganan memorynya sudah lebih baik (kalau ga salah di vs.net ada yg disebut garbage collection, fitur ini akan otomatis men deallocation memory yg dipakai oleh sebuah object setelah idle sekian lama, cmmiw, mungkin ini diperlukan karena di .net sebuah variable pun sekarang adalah sebuah object, berbeda dengan vb 6 yg membedakan antara object dan variabel. gampangnya di .net everything is object :D)
cmmiw ya kalau ada yg salah
best regards
[wwn]
On 9/7/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Dear pakar VB
Saya ada 2 pertanyaan :
1. Dimana letak kesalahan prosedure key press ini ya ...saya ingin setelah ditekan enter pada textbox1 muncul datagrid yg isinya hanya field A pada tabel01
2. Pada datagrid yg muncul ini jika field A ada 2 atau lebih yg muncul hanya satu saja. ( sehingga di table02 field A unik )
mohon perbaikannya ...
Tabel01
A B C
01 Saya ayam
02 Aku bubur
01 ane kisi
03 ty a
04 er b
03 ert b
Tabel02
A D E
01 - -
02 - -
03 - -
04 - -
Private Sub Text1_KeyPress(keyascii As Integer)
Set con = New Connection
Set rst = New Recordset
Set rst1 = New Recordset
Set com = New Command
rst.CursorLocation = adUseServer
rst.LockType = adLockOptimistic
rst.CursorType = adOpenDynamic
rst1.CursorLocation = adUseServer
rst1.LockType = adLockOptimistic
rst1.CursorType = adOpenDynamic
With con
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=sa;Password=sql;Persist Security Info=True;Initial Catalog=table;Data Source=SQL"
.Open
End With
With com
.ActiveConnection = con
.CommandText = "select A from table01"
.Execute
End With
rst1.Open "select A from tabel01", con
If keyascii = 13 Then
DataGrid1.Visible = True
Set DataGrid1.DataSource = rst1 '===> the rowset is not bookmarkable
endif
end sub
salam
haris
Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]
SPONSORED LINKS
Programmer Indonesia Basic programming language Computer programming languages Programming languages Java programming language
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.
Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]
SPONSORED LINKS
| Programmer | Indonesia | Basic programming language |
| Computer programming languages | Programming languages | Java programming language |
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.
