AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.03.2013, 12:46   #1  
iCloud is offline
iCloud
Enjoy!
Аватар для iCloud
MCP
Злыдни
 
195 / 111 (4) +++++
Регистрация: 06.03.2012
! 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

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax-erp: Dynamics Ax Musings: X++ in the .NET CLR : Life in the Fast Lane Blog bot DAX Blogs 0 19.11.2012 20:11
axinthefield: Choosing a Single Deployment or Multiple Deployments of AX2009 Blog bot DAX Blogs 0 15.06.2011 03:25
Функция global::valueFromXMLNode() в Ax2009 работает не корректно someOne DAX: Программирование 3 09.12.2010 15:58
emeadaxsupport: Working with CLR Exceptions in Dynamics AX X++ code Blog bot DAX Blogs 0 22.07.2010 19:06
Arijit Basu: Microsoft Dynamics AX CLR Interop Blog bot DAX Blogs 0 07.10.2007 01:03

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:04.