Cari Blog Ini

21 November 2013

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


Tidak ada komentar:

Posting Komentar