在 VB.NET 中使用 OleDb.NET 调用 Access 2010 存储选择查询的异常
Posted
技术标签:
【中文标题】在 VB.NET 中使用 OleDb.NET 调用 Access 2010 存储选择查询的异常【英文标题】:Exception calling Access 2010 stored select query using OleDb.NET in VB.NET 【发布时间】:2013-07-18 12:30:12 【问题描述】:我在 Access 2010 数据库中使用一个参数创建并保存了一个命名查询。但是我似乎无法通过 VB.NET OleDb 使用它。
这是我正在使用的代码(忽略连接,它设置正确 - 它使用非存储过程工作)
Dim Command As New OleDb.OleDbCommand
Dim Reader As OleDb.OleDbDataReader
Command.CommandText = "SelectUser"
Command.Parameters.AddWithValue("@UserId", "1234131")
Command.CommandType = CommandType.StoredProcedure
Reader = Command.ExecuteReader
这是Access 2010中存储过程的代码:
SELECT Users.*
FROM Users
WHERE Users.User_Id=[@UserId];
执行 .NET 代码时,出现以下异常: Microsoft Access 数据库引擎找不到输入表或查询“SelectUser”。确保它存在并且其名称拼写正确。
我做错了什么,对我来说这毫无意义。
【问题讨论】:
您没有发布它,但请确保您的 Command 对象实际上正在使用您的 Connection 对象。 @LarsTech:正如我所说,它非常适合非存储查询,所以连接很好。 您确定要连接到具有存储过程的数据库吗?您可能无意中将存储过程添加到了错误的数据库中。 【参考方案1】:连接到错误的数据库副本,一个不包含查询的副本。
【讨论】:
以上是关于在 VB.NET 中使用 OleDb.NET 调用 Access 2010 存储选择查询的异常的主要内容,如果未能解决你的问题,请参考以下文章