Вызов хранимых запросов MS Access с параметрами с помощью DAAB v5.0

Я хотел выяснить, можно ли вызвать MS Access Stored Queries с параметрами, используя DAAB.

Я использую образец базы данных 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. Я не уверен, правильно ли я вызываю хранимые запросы, так как могу вызывать хранимые запросы, у которых нет параметров без ошибок.

1 ответ

Решение

Я был в состоянии решить проблему. Проблема была с образцом базы данных Northwind. Затем я импортировал базу данных Northwind из SQL Server в MS Access, а также создал хранимые запросы в MS Access. Вот подробное обсуждение, которое я провел с командой DAAB Enterprise Library: entlib.codeplex.com/Thread/View.aspx?ThreadId=223653 Надеюсь, это поможет. Access не заботится о символе @, который можно вызвать с параметром или без символа @.

Другие вопросы по тегам