Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизНе выполняется SQL запрос Найти похожие ветки
← →
Солер (2002-09-25 13:21) [0]Уважаемые Мастера!Поимогите начинающему!Не выполняется SQL -запрос
База данных Paradox, сделал запрос SQl запрос в SQL-Bilder:
SELECT DISTINCT Tuberkulez.obs
FROM "tuberkulez.db"tuberkulez
WHERE (Tuberkulez.obs<="12/31/2001")
AND (Tuberkulez.obs>="01/01/2001")
в SQL-Bilder всё работает!!!
В проге кнопка по нажатию, которой должен выпоняться запрос
событие на клик
Query1.open - не работает
поменял на Query1.ExecSQL - не работает
свойство Active в True -не работает.
Query1 связано с базой, таблицей т.д.
В чём дело?
Ум за разум заходит!
Спасибо.
← →
Johnmen (2002-09-25 13:42) [1]В чем нерабочесть то ???
← →
Солер (2002-09-25 13:48) [2]Не отбирает данные
← →
NP-237 (2002-09-25 13:53) [3]Попробуй передать дату через параметры
← →
Солер (2002-09-25 14:39) [4]Нет всё равно не идёт
Что-то здесь не то.
Например установил тип параметров как Date, а ввожу слова
программа даже не выдаёт ошибку.
Может быть нужно что-то изменить в инспекторе объектов?
Ума не приложу, что делать
← →
Anatoly Podgoretsky (2002-09-25 14:50) [5]Ты очень уверен, что дату надо подать именно в таком формате, делай через параметры
← →
Johnmen (2002-09-25 14:51) [6]Для начала привести кусок кода по поводу присвоения значений параметрам...
← →
MsGuns (2002-09-25 14:52) [7]Скорее всего до выполнение запроса дело не доходит. Поставить бряк на Query.ExecSQL/Open
← →
Солер (2002-09-25 15:44) [8]Начинаем сначала
Записываю SQL:
SELECT DISTINCT Obs
FROM "tuberkulez.db" Tuberkulez
WHERE (obs = :obs_param)
в параметрах указывем DateType -Date
Value - Date
В обработчике на клик пишем:
Query1.ParamByName("obs_param").Value:=("Obs" <= "12/31/2001")
AND ("Obs" >= "01/01/2001") ;
Query1.Open;
Включаем - не работает Не отбирает гад данные.
К стате при Query1.execSQL выдаёт
"Не могу выполнить эту операцию для открытого набора данных :( ?????.
И сразу начинаешь панимаешь, что ты тупой.
← →
Johnmen (2002-09-25 15:53) [9]Во-первых, 2 параметра :obs_start и :obs_stop
Query1.ParamByName("obs_start").Value:=StrToDate("01.01.2001")
Query1.ParamByName("obs_stop").Value:=StrToDate("31.12.2001")
во-вторых,
SELECT DISTINCT Tuberkulez.obs
FROM "tuberkulez.db"tuberkulez
WHERE Tuberkulez.obs BETWEEN :obs_start AND :obs_stop
← →
Солер (2002-09-25 16:50) [10]Спасибо, Johnmen, что потратили на меня время, показали как правильно писать запрос
но видно не судьба. Не работает.
Не отбирает данные и всё.
В SQL bilder работает а в программе нет.
Прийдётся всё ломать и начинать с начала.
В принципе какие могут быть причины или мои ошибки,
что программа не видит запрос?
← →
NP-237 (2002-09-25 16:53) [11]Кстати а где ты наблюдаешь выборку ?
← →
Солер (2002-09-25 18:30) [12]dbgrid
← →
MsGuns (2002-09-25 19:33) [13]Если запрос правильный, то
- либо грид не связан с Query
- в гриде не заполнен массив колонок
- всем полям или конкам дана "невизибельность"
Если же видны титулы и есть массив колонок, то, скорее всего, этим колонкам назначены "левые" поля НД (или вообще не назначены)
В этом случае после Query.Open поможет
Grid1.Columns.RebuildColumns;
Однако св-ва полей Query, если они заполнялись редактором полей в Design-mode, не мешает проверить
← →
ЮЮ (2002-09-26 05:29) [14]Query1.Close;
определить параметры
Query1.Open;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.015 c