Menampilkan Nama Tabel dari SQL Server ke DataGrid (ADO)


Berikut ini trik untuk menampilkan nama-nama tabel yang terdapat di suatu database pada SQL Server ke dalam control DataGrid. Dalam contoh ini, saya menggunakan SQL Server 2000 dengan metode koneksi "Trusted Connection", atau koneksi ke SQL Server menggunakan otentifikasi Windows. Bagi yang belum tahu dengan "Trusted Connection", artinya adalah: username dan password untuk menghubungi SQL Server diverifikasi saat Anda login ke sistem operasi Windows Anda (Windows XP, Windows 2000). Jadi, di code program, Anda tidak perlu lagi menginput data username dan password untuk connect ke SQL Server 2000 Anda.

Deskripsi: 
Menampilkan nama-nama tabel di database SQL Server 2000
ke dalam control DataGrid1. Dalam contoh ini, koneksi ke
SQL Server menggunakan metode "Trusted Connection"
atau menggunakan Otentifikasi Windows. Bagi yang belum
tahu dengan "Trusted Connection", bahwa username dan password
untuk menghubungi SQL Server diverifikasi saat Anda login
ke sistem operasi Windows Anda (Windows XP, Windows 2000)

Persiapan: 
1. Buat satu project standard exe dengan satu Form.
2. Klik menu Project -> Component... lalu beri tanda
centang pada "Microsoft DataGrid Control 6.0 ... lalu
klik tombol OK
3. Tambahkan satu control DataGrid ke atas form
4. Copy-kan code berikut ke editor form yang Berkaitan.


Dim CN As ADODB.Connection
Dim rsTables As ADODB.Recordset

Public Function ConnectSQLServer() As Boolean
On Error GoTo ErrConn
Set CN = New ADODB.Connection
CN.CursorLocation = adUseClient
'This connection string uses Trusted_Connection!
CN.Open "PROVIDER=MSDataShape;" & _
"Data Provider=SQLOLEDB.1;" & _
"Integrated Security=SSPI;" & _
"Persist Security Info=False;" & _
"Initial Catalog=vrman;" & _
"Data Source=XXX\blogvrman;"
'vrman <-- ganti dengan nama database Anda
'XXX\blogvrman = <-- ganti dengan
'                       nama SQL Server Anda
ConnectSQLServer = True
Exit Function
ErrConn:
ConnectSQLServer = False
End Function

Private Sub Form_Load()
If ConnectSQLServer = True Then
'MsgBox "Koneksi ke SQL Server sukses!", 
vbInformation
Else
MsgBox "Koneksi ke SQL Server gagal!",
vbExclamation
End If
'Tampung nama tabel ke variabel ADODB.Recordset
GetTablesName
'Siap-siap tampung ke control DataGrid
DataGrid1.AllowUpdate = False
'Masukkan nilai variabel rsTables ke DataGrid
Set DataGrid1.DataSource = rsTables
End Sub

Private Sub GetTablesName()
Dim rCriteria As Variant
'Kriteria pengaksesan tabel menggunakan array
rCriteria = Array(Empty, Empty, Empty, "Table")
'Buka skema tabel dgn mengoptimalkan 
variabel Connection
Set rsSchema = CN.OpenSchema
(adSchemaTables, rCriteria)
'Siapkan variabel untuk membuat recordset baru
Set rsTables = New ADODB.Recordset
'Buat satu field baru bernama NamaTabel dengan
'tipe VarChar dan length = 50 karakter
rsTables.Fields.Append "NamaTabel", 
adVarChar, 50
'Buka tabel untuk menampung nama tabel
rsTables.Open
'Telusuri skema tabel
While Not rsSchema.EOF
For Each fld In rsSchema.Fields
'Untuk mengambil nama tabel, verifikasi dengan
'mengambil nilai dari TABLE_NAME
If fld.Name = "TABLE_NAME" Then
'Untuk setiap nama tabel, 
sediakan record baru
rsTables.AddNew
'Tampung nama tabel
rsTables.Fields("NamaTabel") = fld.Value
'Simpan nama tabel
rsTables.Update
End If
Next 'Maju ke record berikutnya
rsSchema.MoveNext 'Maju ke skema 
tabel berikutnya
Wend 'Akhir loop skema tabel
End Sub

No comments:

Post a Comment

Assalaamualaikum....
Ini web saya yang baru yang bisa di kasih coment yang ngawur.... alias terserah aja feh. he he