我想知道是否可以使用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();我收到一个错误: Invalid Operation。我不确定我是否正确地调用了存储查询,因为我能够调用没有任何参数的存储查询而没有任何错误。
发布于 2010-08-30 11:12:21
我能够解决这个问题。该问题与Northwind示例数据库有关。然后,我将Northwind数据库从SQL Server导入到MS Access中,并在MS Access中创建了存储的查询。这是我与企业库DAAB团队的详细讨论: entlib.codeplex.com/Thread/View.aspx?ThreadId=223653希望它能有所帮助。Access不关心@字符,您可以使用或不使用@字符调用参数。
https://stackoverflow.com/questions/3489899
复制相似问题