如何在 VB.Net 2010 中从 MS Access 2010 (.accdb) 调用查询?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14912351/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 12:21:31  来源:igfitidea点击:

How to call a query from MS Access 2010 (.accdb) within VB.Net 2010?

vb.netms-access

提问by Ruben_PH

I have this code that populates a datagridview with data from ms access:

我有这段代码用来自 ms 访问的数据填充 datagridview:

Dim con As New OleDbConnection  
Dim ds As New DataSet  
Dim da As OleDb.OleDbDataAdapter  
Dim Sql As String

Sql = "SELECT * FROM myTable WHERE case_no=?"  
Try  
  con.ConnectionString = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=Sample.accdb;Persist Security Info=True;Jet OLEDB:Database Password=dbadmin2010"  
    con.Open()  
    Dim cmd As OleDbCommand = New OleDbCommand(Sql, con)  
    da.SelectCommand = cmd  
    cmd.Parameters.AddWithValue("case_no", case_no)  

    Dim ds As DataSet = New DataSet  
    da.Fill(ds, "Case Info")  
    DataGridView1.DataSource = ds.Tables("Case Info")  

Catch ex As Exception  
    MsgBox(ex.Message)  
End Try

Now I had just finished creating a query from design view within MS Access itself, is there a way to call that query and retrieve the results to my datagridview?

现在我刚刚从 MS Access 本身的设计视图中创建了一个查询,有没有办法调用该查询并将结果检索到我的 datagridview?

回答by Fionnuala

Just use the query name and set the command type, for example, in addition to what you already have, you can use the following notes:

只需使用查询名称并设置命令类型,例如,除了您已有的之外,您可以使用以下注释:

Try
    con.ConnectionString = enter_connection_string_here 
    con.Open()
    cmd.Connection = con
    cmd.CommandType = CommandType.StoredProcedure
    cmd.CommandText = "NameOfQuery"
    da.SelectCommand = cmd
    cmd.Parameters.AddWithValue("case_no", case_no)

    da.Fill(ds, "Case Info")