and*_*111 4 .net sql ms-access
I have a parameterized query GET_CUSTOMER:
SELECT * FROM Customer WHERE id = [customer_id]
Run Code Online (Sandbox Code Playgroud)
I want to call this query from another query and pass it a parameter:
SELECT * FROM GET_CUSTOMER(123)
Run Code Online (Sandbox Code Playgroud)
请注意,上面的代码无效,它是为了让您了解我正在尝试做什么。可以在 MS Access 中执行此操作吗?
更新1:
例如我发布的查询。实际的查询要复杂得多。我知道我可以使用表连接,但在我的具体情况下,如果我可以在其他查询(也已参数化)中运行参数化查询,则会容易得多。我无法使用访问表单,因为我在 .NET 应用程序中使用访问权限。
这就是我最终在/sf/answers/1727417401/的帮助下解决这个问题的方法。事实证明,Access 在所有查询之间共享参数,因此无需专门将参数从一个查询传递到另一个查询。
查询1:
SELECT * FROM Customer WHERE ID > [param1] AND ID < [param2]
Run Code Online (Sandbox Code Playgroud)
查询2:
SELECT * FROM Query1
Run Code Online (Sandbox Code Playgroud)
VB.NET 代码:
Dim ConnString As String = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=Database.mdb"
Dim SqlString As String = "Query2"
Using Conn As New OleDbConnection(ConnString)
Using Cmd As New OleDbCommand(SqlString, Conn)
Cmd.CommandType = CommandType.StoredProcedure
Cmd.Parameters.AddWithValue("param1", "1")
Cmd.Parameters.AddWithValue("param2", "3")
Conn.Open()
Using reader As OleDbDataReader = Cmd.ExecuteReader()
While reader.Read()
Console.WriteLine(reader("ID"))
End While
End Using
End Using
End Using
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9836 次 |
| 最近记录: |