教學

VB.NET使用ACCESS為資料庫來源時,若要使用access中的查詢或帶參數查詢的用法

一樣此篇文章也是提供自己備忘的一篇文章,無奈在各大搜尋機器上,遍尋不著相關寫法..只好硬著頭皮..使出”人轉”的大絕

一般網站上大都是跟SQL server連接,相關資源也很豐富…

不曉得是大家太厲害..我真的找到很少的資源..

以下是我試出來的結果

在access中若有制作一些查詢的功能或是帶有參數的查詢,如果到VB.NET中要用ACCESS連結使用的話

要用OLEDB的物件去連接使用

例:在我的ACCESS中,制作了一個帶參數查詢的查詢,參數一是啟始日期,參數二是結束日期,然後帶出範圍內的資料


‘設定資料庫連線
Dim connectionString As String = “PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb”
‘設定oledbDataadpter物件,並指定查詢的名稱
Dim da As OleDbDataAdapter = New OleDbDataAdapter(“查詢的名稱”, connectionString)
‘設定dataset物件
Dim ds As DataSet
‘設定da的命令類別為預存程序
da.SelectCommand.CommandType = CommandType.StoredProcedure
‘設定bd為oledbparameter類別,並為da.selectcommand加上參數,啟始日期的參數型態設為oledbtype.date
Dim bd As OleDbParameter = da.SelectCommand.Parameters.Add(“@輸入啟始日期如:2008/04/01”, OleDbType.Date)
‘設定bd為輸入參數
bd.Direction = ParameterDirection.Input
‘dt1為日期選用物件
bd.Value = dt1.Text
‘設定ed為oledbparameter類別,並為da.selectcommand加上參數,結束日期的參數型態設為oledbtype.date
Dim ed As OleDbParameter = da.SelectCommand.Parameters.Add(“@輸入結束日期如:2008/04/30”, OleDbType.Date)
ed.Direction = ParameterDirection.Input
ed.Value = dt2.Text
‘將資料填入
ds = New DataSet()
da.Fill(ds, “work_form_query_bye_date_range_report”)
‘設定dgv3的datagridview的資料來源
dgv3.DataSource = ds.Tables(0).DefaultView

以上作法,即可使用ACCESS中的參數查詢物件了..
^_^