VB.Net程序设计:ADO.Net读取Access表架构

2023-05-15,,

程序只是记录而已,还没有完成。

请不要模仿。

  1. Imports System.Data  
  2. Imports System.Data.OleDb  
  3.  
  4. Public Class Form1  
  5.  
  6.     Dim ConnStr As String = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; User Id=admin; Password={1};""D:\product.MDB""")  
  7.     Dim conn As OleDb.OleDbConnection  
  8.     Dim cmd As OleDb.OleDbCommand  
  9.     Dim sql As String 
  10.  
  11.     Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load  
  12.         'cmd = New OleDbCommand(sql, conn)  
  13.         'cmd.ExecuteNonQuery()  
  14.         conn = New OleDb.OleDbConnection(ConnStr)  
  15.     End Sub 
  16.  
  17.     Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click  
  18.         Dim dt As DataTable  
  19.         Dim tbl As DataTable  
  20.         Dim tbl2 As DataTable  
  21.  
  22.         conn.Open()  
  23.         'tbl = conn.GetSchema() =数据库的所有架构信息。  
  24.         '获取用户表  
  25.         tbl = conn.GetSchema("tables"New String() {NothingNothingNothing"table"})  
  26.         'tbl = conn.GetSchema("tables") = 所有表,包括系统表。  
  27.         tbl2 = conn.GetSchema()  
  28.         '=不大支持的方法  
  29.         dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {NothingNothingNothing"TABLE"})  
  30.  
  31.         Me.ListBox1.Items.Clear()  
  32.         For i As Integer = 0 To dt.Rows.Count - 1  
  33.             Me.ListBox1.Items.Add(dt.Rows(i)("TABLE_NAME").ToString())  
  34.         Next 
  35.  
  36.         Me.DataGridView1.DataSource = tbl  
  37.         Me.DataGridView2.DataSource = tbl2  
  38.         conn.Close()  
  39.  
  40.     End Sub 
  41.  
  42.     Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button2.Click  
  43.         Dim tbl As DataTable  
  44.         If String.IsNullOrEmpty(Me.TextBox1.Text) = False Then 
  45.             conn.Open()  
  46.             tbl = conn.GetSchema("columns"New String() {NothingNothingMe.TextBox1.Text})  
  47.             Dim rows() As DataRow = tbl.Select("""Ordinal_Position")  
  48.             Me.ListBox2.Items.Clear()  
  49.             For Each row As DataRow In rows  
  50.                 Me.ListBox2.Items.Add(row.Item("column_name"))  
  51.             Next 
  52.             Me.DataGridView2.DataSource = tbl  
  53.             conn.Close()  
  54.         End If 
  55.  
  56.     End Sub 
  57.  
  58.     Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged  
  59.         If Me.ListBox1.SelectedItems.Count > 0 Then 
  60.             Me.TextBox1.Text = Me.ListBox1.SelectedItem.ToString  
  61.         End If 
  62.     End Sub 
  63.  
  64.     Private Sub Button3_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles BtnGetDatatable.Click  
  65.         Dim db As New AccessHelper  
  66.         db.connStr = ConnStr  
  67.         If Me.TextBox1.Text > "" Then 
  68.             db.Open()  
  69.             Me.DataGridView3.DataSource = db.GetDataView("select * from " & Me.TextBox1.Text)  
  70.         End If 
  71.  
  72.     End Sub 
  73. End Class 

 

《VB.Net程序设计:ADO.Net读取Access表架构.doc》

下载本文的Word格式文档,以方便收藏与打印。