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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.08.2006, 14:09   #1  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Thumbs up Microsoft жжёт
Нет, я просто тащусь от этой компании ))

По приведенной мази ссылке, цитирую:
Цитата:
Direct SQL
When direct SQL is used through the Connection and Statement classes, it is subject to SQL injection threats. Classes that wrap these kernel classes—for example, the SysSQLBuilder classes—are equally dangerous. You should keep in mind that record-level security and field-level security are not enforced on the Statement class.
To learn more about SQL injection attacks, see the article, Stop SQL Injection Attacks Before They Stop You, on MSDN.
Ля-ля-ля - не юзайте прямой SQL пока он не поюзал Вас.

Открываем Читвёртую Аксапту, и что мы там видим? Правильно! Прямой SQL)))

X++:
/* This method will build following statement in a str: 
  
execute sp_executesql N'UPDATE InventSum 
    SET InventSum.CostAmountPhysical     = InventSum.CostAmountPhysical            + 
                                           InventSumDelta.SUM_CostAmountPhysical, 
        InventSum.PostedValue            = InventSum.PostedValue                   + 
                                           InventSumDelta.SUM_PostedValue, 
        InventSum.Qty                    = InventSum.Qty                           + 
                                           InventSumDelta.SUM_Qty, 
        ..... 
        ..... 
  
        InventSum.LastUpdDatePhysical    = CASE WHEN InventSum.LastUpdDatePhysical > InventSumDelta.MAX_LastUpdDatePhysical 
                                                THEN InventSum.LastUpdDatePhysical 
                                                ELSE InventSumDelta.MAX_LastUpdDatePhysical 
                                           END, 
  
        InventSum.LastUpdDateExpected    = CASE WHEN InventSum.LastUpdDateExpected > InventSumDelta.MAX_LastUpdDateExpected 
                                                THEN InventSum.LastUpdDateExpected 
                                                ELSE InventSumDelta.MAX_LastUpdDateExpected 
                                           END, 
  
        InventSum.ClosedQty              = CASE WHEN ((InventSum.PostedQty + InventSumDelta.SUM_PostedQty) = 0 AND 
                                                      (InventSum.Deducted  + InventSumDelta.SUM_Deducted)  = 0 AND 
                                                      (InventSum.Picked    + InventSumDelta.SUM_Picked)    = 0 AND 
                                                      .... 
                                                      .... 
                                                     ) 
                                                THEN 1 
                                                ELSE 0 
                                           END, 
        InventSum.Closed                 = CASE WHEN ((InventSum.PostedValue    + InventSumDelta.SUM_PostedValue)  = 0 AND 
                                                     (InventSum.PhysicalValue  + InventSumDelta.SUM_PhysicalValue) = 0 AND 
                                                      .... 
                                                      .... 
                                                     ) 
                                                THEN 1 
                                                ELSE 0 
                                           END 
    FROM (SELECT SUM(CostAmountPhysical)    AS SUM_CostAmountPhysical, 
                 SUM(PostedValue)           AS SUM_PostedValue, 
                 SUM(Qty)                   AS SUM_Qty, 
                 .....                      AS ..., 
                 .....                      AS ..., 
                 MAX(LastUpdDatePhysical)   AS MAX_LastUpdDatePhysical, 
                 MAX(LastUpdDateExpected)   AS MAX_LastUpdDateExpected, 
                 InventSumDelta.ItemId, 
                 InventSumDelta.InventDimId 
          FROM InventSumDelta 
          WHERE InventSumDelta.DataAreaId   = @p1 
          AND   InventSumDelta.TTSId        = @p2 
          AND   InventSumDelta.IsAggregated = 0 
          GROUP BY InventSumDelta.ItemId, InventSumDelta.InventDimId 
         ) AS InventSumDelta 
    WHERE InventSum.DataAreaId        = @p1 
    AND   InventSum.ItemId            = InventSumDelta.ItemId 
    AND   InventSum.InventDimId       = InventSumDelta.InventDimId 
',N'@p1 NVARCHAR(3), @p2 BIGINT',@p1=%1, @p2='%2'
Прошу завести пользователя Майкрософт, я ему рейтинг понижать/повышать буду))
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 04.08.2006, 16:02   #2  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Цитата:
Сообщение от Recoilme
По приведенной мази ссылке, цитирую:
То, что Вы процитировали, это в Microsoft для Вас написали, а не для себя.
Старый 07.08.2006, 13:50   #3  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Recoilme
Ля-ля-ля - не юзайте прямой SQL пока он не поюзал Вас.
Ну и где там это написано? Что-то уж больно художественный перевод у Вас получился
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 08.08.2006, 02:08   #4  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Сообщение от Maxim Gorbunov
Ну и где там это написано? Что-то уж больно художественный перевод у Вас получился
Интервью с майкрософт в переводе Гоблина ч.2 ))
Честно говоря, настораживает почему то.. Может читсо теоретически пояснит кто, как это работает (ИМТС в 4) ??? ??? ???
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 08.08.2006, 09:52   #5  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Recoilme
Честно говоря, настораживает почему то..
"Программисты должны быть смелыми, чтобы не пугаться, когда все перепуталось так, что никто не разберет..." (c) Тарас
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
что нового, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сделать AND между двумя датасорсами на одном уровне в query rkorchagin DAX: Программирование 15 15.01.2009 17:42
Разница между запросами Rect DAX: Программирование 13 05.12.2006 12:44
Расчеты между компаниями Yuri Nikitenko DAX: Функционал 9 15.11.2004 08:49
различие между Axapta и Attain andreynikolai DAX: Программирование 4 04.02.2004 17:53
дизайн отчета (как сделать его с разделителями между столбцами?) puz DAX: Программирование 7 02.09.2003 08:50
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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