Конференция "Базы" » ADODataSet - константы в запросе [D7, MSSQL]
 
  • sniknik © (23.05.12 16:09) [20]
    кстати при подключении к access (jet) подобный фокус (1 as xxxx и т.д. вплоть до редактирования) срабатывает без всяких извращений.
    что позволяет надеяться на возможность смены типа поля в рекордсете от mssql на нужное...
  • turbouser © (23.05.12 16:13) [21]
    я бы вообще сделал с помощью cxgrid unbound column :)
  • sniknik © (23.05.12 16:22) [22]
    > что позволяет надеяться
    вот так работает, пример
    SELECT ID,Name,a.Prop FROM Action LEFT JOIN (SELECT 1 AS Prop) AS a ON ID=ID
    должен быть включен ltBatchOptimistic
  • u905097 (23.05.12 16:33) [23]

    > turbouser ©   (23.05.12 16:13) [21]
    > я бы вообще сделал с помощью cxgrid unbound column :)

    вариант неплох, но это частный случай, он не подойдет к такому запросу,
    построить такую логику обработки на клиенте средствами Делфи достаточно сложно:
    ---------------------------------------------------------------------
         SELECT
                safety_assurance_id
               ,safety_standards_id
               ,overall_state_id
               ,size1
               ,size2
               ,sa_start_date
               ,sa_end_date
               ,relevant
           FROM v_safety_assurance
           WHERE staff_id=:STAFF_ID
         UNION
         SELECT
                null safety_assurance_id
               ,safety_standards_id
               ,null overall_state_id
               ,MAX(size1)
               ,MAX(size2)
               ,null sa_start_date
               ,null sa_end_date
               ,1 relevant
           FROM v_safety_assurance
           WHERE staff_id=:STAFF_ID
             AND relevant = 0
           GROUP BY safety_standards_id
    ---------------------------------------------------------------------
  • u905097 (23.05.12 16:54) [24]

    > sniknik ©   (23.05.12 16:22) [22]
    > > что позволяет надеяться
    > вот так работает, пример
    > SELECT ID,Name,a.Prop FROM Action LEFT JOIN (SELECT 1 AS
    > Prop) AS a ON ID=ID
    > должен быть включен ltBatchOptimistic

    проверил, запрос в БД - работает, а с ADODataSet не работает
    и в JOIN с врем. табл. тоже не работает:
    -----------------------------------
    DECLARE @T TABLE (property int);
    INSERT INTO @T VALUES (1);
    ...
  • sniknik © (23.05.12 17:07) [25]
    > проверил, запрос в БД - работает, а с ADODataSet не работает
    чудо чудное, диво дивное...

    > и в JOIN с врем. табл. тоже не работает:
    еще одно? ...
    компьютер давно освящал? а то смотри, без ушата святой воды "в дисковод" скоро ничего не поможет.
  • u905097 (23.05.12 17:13) [26]

    > sniknik ©   (23.05.12 17:07) [25]
    > > проверил, запрос в БД - работает, а с ADODataSet не работает
    > чудо чудное, диво дивное...

    проверю дома, результат скажу завтра.

    , но как только убираю константы из запроса ADODataSet работает
    --------------------------------------------------------------
    DataModule1.ADODataSet7.Edit;
    DataModule1.ADODataSet7['PROPERTY']:=0;
    DataModule1.ADODataSet7.Post;

    showmessage(
    'p='+VarToStr(DataModule1.ADODataSet7['PROPERTY']+'.')
    );
    --------------------------------------------------------------
    результат:  p=0.
  • u905097 (25.05.12 09:19) [27]
    проверил, результат отрицательный.

    Win XP+sp3, Win7+sp1,
    d7, d2006, d2009
    MSSQL 2005, 2008

    могу продемонстрировать неработу ПО через удаленный терминал (TeamViewer) или готов посмотреть правильную и действующую реализацию также.

    возможно, нужны какие-то определенные свойства ADODataSet ?

    это концептуальный вопрос, поэтому и спрашиваю у знатоков, как работаете с такими задачами.

    напимер, Delphi+DOA+Oracle - концептуальных проблем в работе DataSet нет.
  • sniknik © (25.05.12 09:31) [28]
    > могу продемонстрировать
    демонстрируй здравый смысл...
    http://maddog.sitengine.ru/smart-question-ru.html

    > возможно, нужны какие-то определенные свойства ADODataSet ?
    вся что нужно было написано. но видимо не прочитано/проигнорировано. т.е. смысл дальнейшего общения с тобой = 0.
  • u905097 (25.05.12 09:44) [29]
    "BEST" !!!
  • u905097 (25.05.12 15:18) [30]
    P.S.:
    некорректность работы ADODataSet на данном этапе моих знаний решена так (но это не совсем правильно):
    1. по событию BeforePost обращаюсь к БД и меняю данные хранимой процедурой, на этом этапе данные в ADODataSet, полученные из cxGridDBTableView еще правильные.
    2. по событию AfterPost выполняю ADODataSet.Requery, чтобы корректно вернуть данные в ADODataSet и cxGridDBTableView.

    результат:  ПОЛОЖИТЕЛЬНЫЙ.
 
Конференция "Базы" » ADODataSet - константы в запросе [D7, MSSQL]
Есть новые Нет новых   [134430   +2][b:0][p:0]