我想知道是否可以使用 DAAB 调用带有参数的 MS Access 存储查询。
我正在使用 Northwind 示例数据库来测试这个场景,我在 MS Access 中创建了以下带有参数的存储查询:
PARAMETERS FirstName Text ( 255 );
SELECT Employees.ID
FROM Employees
WHERE (((Employees.[First Name])=[@FirstName]));
此查询与名称一起存储:GetEmployeeIDByName
我在 DAAB 上创建了一个包装器,以允许访问各种数据库,如 SQL、Oracle、任何 OLEDB 和 ODBC 数据库。
以下是我的测试示例代码:
Database db = new GenericDatabase("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Database\Access\Northwind 20071.accdb",OleDbFactory.Instance);
DbCommand cmd = db.GetStoredProcedure("GetEmployeeIDByName");
db.AddInParameter(cmd,"@FirstName",DbType.String,40);
object employeeID = db.ExecuteScalar();
我收到错误无效操作。我不确定我是否正确调用了存储查询,因为我可以调用没有任何错误的没有任何参数的存储查询。