2011年12月6日 星期二

VB.net 連結 Access 語法


可分為兩種,一種是取得資料庫裡面的資料

        ' 資料庫的路徑
        Dim strDbCon As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=coolking_music.mdb"

        Dim objCon As OleDbConnection = New OleDbConnection(strDbCon)
        objCon.Open()

        ' SQL語法
        Dim objCmd As OleDbCommand = New OleDbCommand("SELECT * FROM song", objCon)

        Dim objDataReader As OleDbDataReader = objCmd.ExecuteReader()

        Dim out As String

        ' 讀取singer欄位的值
        While objDataReader.Read()
                out += objDataReader.Item("singer")
        End While

        ' 關閉資料庫的連結
        objDataReader.Close()
        objCon.Close()

        Label1.Text = out
 
另一種是顯示在DataGridView上
 
        ' 資料庫的路徑
        Dim strDbCon As String = "Provider=Microsoft.Jet.Oledb.4.0;Data source=coolking_music.mdb"
      
        Dim objCon As OleDbConnection = New OleDbConnection(strDbCon)
        objCon.Open()

        ' SQL語法
        Dim adp1 As OleDbDataAdapter = New OleDbDataAdapter("select * from song", objCon)

        ' 將查詢結果放到記憶體set1上的"song"表格內
        Dim set1 As DataSet = New DataSet
        adp1.Fill(set1, "song")

        ' 將記憶體的資料集合存放到視窗畫面上的DataGridView上
        DataGridView1.DataSource = set1.Tables("song")

        ' 關閉資料庫的連結
        objCon.Close()

4 則留言:

  1. 請問~ 我是用第二種方式 資料庫路徑是直接在屬性裡設定好,連結部分也是自動產生,意思是我只要執行偵錯後資料就自動從access連結進來了。但是我的問題是,我修改DataGridView裡的資料後要怎麼存回access裡...?? 謝謝解惑~!

    回覆刪除
    回覆
    1. hi !!
      若要回存!!
      請參考另一篇 http://wushinetlife.blogspot.tw/2012/06/oledboledbcommandupdate.html
      這兒會有你需要的!

      刪除
  2. 請問~ 我是用第二種方式 資料庫路徑是直接在屬性裡設定好,連結部分也是自動產生,意思是我只要執行偵錯後資料就自動從access連結進來了。但是我的問題是,我修改DataGridView裡的資料後要怎麼存回access裡...?? 謝謝解惑~!

    回覆刪除
    回覆
    1. 第2種無法直接回存
      必須另外寫觸發程序去回存到 access table
      這就較進階了! 你可以去查 datagridview 的儲存方式
      謝謝你的提問

      刪除