我想知道是否可以使用DAAB参数调用MS Access存储查询。使用DAAB调用MS Access存储查询参数使用DAAB v5.0
我使用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();
我得到一个错误,无效操作。我不确定是否正确调用存储的查询,因为我可以调用没有任何错误参数的存储查询。
@未用于Jet/ACE SQL中的参数。 – 2010-08-16 20:23:20
我能解决这个问题。问题出在Northwind示例数据库上。然后,我从SQL Server中将Northwind数据库导入MS Access,并在MS Access中创建存储的查询。 下面是我与企业库DAAB团队的详细讨论: http://entlib.codeplex.com/Thread/View.aspx?ThreadId=223653 希望它有帮助。 访问不关心@字符,你可以使用或不使用@字符来调用参数。 – Manthan 2010-08-19 05:54:10