Rabu, 21 Desember 2011

Open Schema Database or Table

Open Schema adalah membongkar semua object yang ada di database secara detail,baik itu di SQL Server maupun jenis database yang lainnya. Kali ini saya akan contohkan SQL Server saja yang banyak digunakan dan mudah dipelajari. Dengan Open Shema ini kita dapat mengetahui database apa saya yang terinstal, table apa saja yang terdapat di setiap database termasuk column, type data, sampai hal yang lebih detail lagi.
Gambar diatas adalah contoh program sederhana yang saya buat untuk posting kali ini. Cara kerjanya simple, saat kita click nama database, maka List Tables/Views akan terisi dengan daftar tabel/view yang terdapat di database yang kita pilih, kemudian saat kita click Nama Tabel/view nya maka List Columns akan terisi sesuai dengan table yang kita pilih. Ok Langsung saja ke codingnya ya... saya buat se-simple mungkin agar mudah di mengerti. 
Siapkan saja 1 project, 1 form, 3 datagridview (name=djieDatagridview1,2,3), optional 3 label untuk judul diatas datagridnya.

 Dim con As New Odbc.OdbcConnection("dsn=local")

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'buka koneksi
        con.Open()
        'gunakan dulu database master
        con.ChangeDatabase("master")
        'select semua database
        Dim adp As New Odbc.OdbcDataAdapter("SELECT name as [Nama Database] FROM SYSDATABASES", con)
        'load database ke grid
        Dim datatable As New DataTable
        adp.Fill(datatable)
        djieDataGridView1.DataSource = datatable
        djieDataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
    End Sub



Private Sub djieDataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles djieDataGridView1.CellClick

        'ganti database sesuai yang dipilih
        con.ChangeDatabase(djieDataGridView1.CurrentRow.Cells(0).Value.ToString)
        'select semua table / view di database yang dipilih
        Dim sql As String = "SELECT TABLE_NAME as [Nama Table],    TABLE_TYPE AS [Type]  FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME"
        Dim adp As New Odbc.OdbcDataAdapter(sql, con)
        Dim datatable As New DataTable
        adp.Fill(datatable)
        'load database ke grid
        djieDataGridView2.DataSource = datatable
        djieDataGridView2.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
    End Sub

    Private Sub djieDataGridView2_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles djieDataGridView2.CellClick
        'select semua column di table / view yang dipilih
        Dim sql As String = "SELECT COLUMN_NAME AS [Nama Column], DATA_TYPE AS [Type Data] FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='" + djieDataGridView2.CurrentRow.Cells(0).Value.ToString + "' ORDER BY ORDINAL_POSITION"
        Dim adp As New Odbc.OdbcDataAdapter(sql, con)
        Dim datatable As New DataTable
        adp.Fill(datatable)
        'load database ke grid
        djieDataGridView3.DataSource = datatable
        djieDataGridView3.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
    End Sub

Ditulis Oleh : Wahyu Aji // 20.13
Kategori:

0 komentar:

Posting Komentar