Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизОшибка запроса Найти похожие ветки
← →
KVT2000 (2002-06-18 11:35) [0]Уважаемые мастера, возникла следующая проблема.
Сначала выполняю вот эти запросы:
DataM.ADOQueryOtgr.Close;
DataM.ADOQueryOtgr.SQL.Clear;
DataM.ADOQuerySbor.Close;
DataM.ADOQuerySbor.SQL.Clear;
DataM.ADOQueryOtgr.SQL.Add("Select distinct NPLAV from PASP_PROD ");
DataM.ADOQueryOtgr.SQL.Add("where BRAK_OTSO = 1 ");
DataM.ADOQueryOtgr.SQL.Add("and DATE_TIME_OTG is NULL ");
DataM.ADOQueryOtgr.SQL.Add("and SERIA = 100 ");
DataM.ADOQueryOtgr.SQL.Add("or SERIA = 200 ");
DataM.ADOQueryOtgr.SQL.Add("group by NPLAV ");
DataM.ADOQueryOtgr.SQL.Add("order by NPLAV");
DataM.ADOQueryOtgr.Open;
DataM.ADOQuerySbor.DataSource := DataM.DataSOtgr;
DataM.ADOQuerySbor.SQL.Add("Select * from PASP_PROD d ");
DataM.ADOQuerySbor.SQL.Add("where d.NPLAV = :NPLAV ");
DataM.ADOQuerySbor.SQL.Add("ORDER BY d.NRUCH, d.NSLIT");
DataM.ADOQuerySbor.Open;
А затем выполняю другие запросы:
DataM.ADOQueryOtgr.Close;
DataM.ADOQueryOtgr.SQL.Clear;
DataM.ADOQuerySbor.Close;
DataM.ADOQuerySbor.SQL.Clear;
DataM.ADOQuerySbor.DataSource := nil;
DataM.ADOQueryOtgr.SQL.Add("Select distinct PRIZ_SBOR from PASP_PROD ");
DataM.ADOQueryOtgr.SQL.Add("where PRIZ_SBOR is not null ");
DataM.ADOQueryOtgr.SQL.Add("Group by PRIZ_SBOR ");
DataM.ADOQueryOtgr.SQL.Add("ORDER BY PRIZ_SBOR");
DataM.ADOQueryOtgr.Open;
DataM.ADOQuerySbor.SQL.Add("Select * from PASP_PROD d ");
DataM.ADOQuerySbor.SQL.Add("where d.PRIZ_SBOR = :PRIZ_SBOR ");
DataM.ADOQuerySbor.SQL.Add("ORDER BY d.PRIZ_SBOR, d.NPLAV");
DataM.ADOQuerySbor.Open;
И вот в строке DataM.ADOQueryOtgr.Open; выдает ошибку "ADOQueryOtgr:Field"NPLAV" not found".!!!
Как будто параметр предыдущих запросов остался.!!!
Делал Parameters.Clear - не помогло!!!
Подскажите, что делать?
← →
fool (2002-06-18 12:02) [1]А ты в редакторе полей поля добавлял?
← →
KVT2000 (2002-06-18 12:09) [2]В ADOQueryOtgr не добавлял, а в ADOQuerySbor - добавлял все поля.
← →
fool (2002-06-18 12:15) [3]Зачем DataM.ADOQuerySbor.DataSource := nil; если параметр ссылается на ADOQueryOtgr?
← →
KVT2000 (2002-06-18 12:19) [4]Извиняюсь, эта строка закоментирована.
А источником - DataM.ADOQuerySbor.DataSource := DataM.DataSOtgr;
← →
fool (2002-06-18 12:37) [5]Ошибка появлялась именно на втором блоке операторов, не на первом? Точно? Если да то не знаю, если на первом, то на сервере в таблице поля NPLAY нету.
← →
KVT2000 (2002-06-18 12:52) [6]Да именно на втором.
Когда запускаю сначала второй блок запросов, а потом первый(то есть меняю их местами), то теперь уже выдает ошибку "ADOQueryOtgr:Field"PRIZ_SBOR" not found".!!!
Как будто параметр предыдущих запросов остался.!!!
Неужели, для каждого запроса - свой ADOQuery?
← →
fool (2002-06-18 13:09) [7]AdoQuerySbor.Prepared := True; перед Open ?
← →
KVT2000 (2002-06-18 13:17) [8]>AdoQuerySbor.Prepared := True; перед Open ?
Пробовал, не помогает!!!
← →
fool (2002-06-18 13:24) [9]А ParamCheck учитываешь?
← →
KVT2000 (2002-06-18 13:36) [10]Да. Для обоих квери стоит ParamCheck = True, Prepared = True.
← →
fool (2002-06-18 13:46) [11]После Parameters.Clear попробуй явно задать нужные параметры
← →
KVT2000 (2002-06-18 14:19) [12]Пробовал. Та же ошибка!!!
← →
fool (2002-06-18 14:42) [13]Извини, но я - пас :0( (с таким глюком не сталкивался)
← →
KVT2000 (2002-06-18 14:48) [14]Нормально заработало, когда сделал
Select distinct NPLAV as TT from PASP_PROD
и
Select distinct PRIZ_SBOR as TT from PASP_PROD
то есть одинаковое имя.
Спасибо fool за поддержку.
← →
fool (2002-06-18 14:51) [15]Не за что спасибо, но для себя ето запомню - может столкнусь када...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.067 c