使用DAAB v5.0使用参数调用MS Access存储查询

时间:2010-08-16 00:39:54

标签: ms-access daab

我想知道是否可以使用DAAB使用参数调用MS Access Stored Queries。

我正在使用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();

我收到错误无效操作。我不确定我是否正确调用存储的查询,因为我能够调用没有任何参数且没有任何错误的存储查询。

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。问题出在Northwind示例数据库中。然后我将Northwind数据库从SQL Server导入MS Access,并在MS Access中创建存储的查询。以下是我与企业库DAAB团队的详细讨论:entlib.codeplex.com/Thread/View.aspx?ThreadId=223653希望它有所帮助。 Access不关心@字符,您可以使用@字符调用或不调用@字符。