27.03.2013, 12:46 | #1 |
Enjoy!
|
ax2009, CLR-функция
Привет коллеги, помогите разобраться.
У меня на SQL есть табличная CLR-функция, которая принимает параметры (@startDate и @endDate). Условно назовем её dbo.GetTransactions. Пример вызова: select DATE, CODE, COMPANY, TRANSACTIONS from dbo.GetTransactions('2013-02-01', '2013-02-28'); Структура таблицы в SQL. DATE - дата (тип поля - date) CODE - код ресторана в RKeeper (тип поля - int) COMPANY - код компании (nvarchar(255)) TRANSACTIONS - количество чеков (int) Пытался сделать через Statement так: X++: static void test_getSQLData_v2(Args _args) { UserConnection connection; Statement stmt; SqlStatementExecutePermission sqlStatementExecutePermission; TransDate fromDate = 01\02\2013, toDate = 28\02\2013; Str _sql; ResultSet resultSet; ; try { _sql = strfmt("select DATE, CODE, COMPANY, TRANSACTIONS from dbo.GetTransactions('%1', '%2')", date2str(fromDate, 321, 2, 3, 2, 3, 4), date2str(toDate, 321, 2, 3, 2, 3, 4)); connection = new Connection(); connection.ttsbegin(); sqlStatementExecutePermission = new SqlStatementExecutePermission(_sql); sqlStatementExecutePermission.assert(); stmt = connection.createStatement(); resultSet = stmt.executeQuery(_sql); connection.ttscommit(); stmt.close(); CodeAccessPermission::revertAssert(); while(resultSet.next()) { print resultSet.getString(1); } } catch(Exception::Error) { error(_sql); error(stmt.getLastErrorText()); } } Подскажите, правильно ли копаю. |
|
Теги |
clr |
|
|