Привет коллеги,
помогите разобраться.
У меня на 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());
}
}
Для решения данной задачи, т. к. придется хранить полученные данные, создал таблицу с соответствующими полями. Как правильно достать данные?
Подскажите, правильно ли копаю.