![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не выполняется SQL запрос [D6, Paradox]
Солер © (2002-09-25 13:21:00)Уважаемые Мастера!Поимогите начинающему!Не выполняется 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 связано с базой, таблицей т.д.
В чём дело?
Ум за разум заходит!
Спасибо.
ЮЮ (2002-09-26 05:29:00) [1]Query1.Close;
определить параметры
Query1.Open;
MsGuns (2002-09-25 19:33:00) [2]Если запрос правильный, то
- либо грид не связан с Query
- в гриде не заполнен массив колонок
- всем полям или конкам дана "невизибельность"
Если же видны титулы и есть массив колонок, то, скорее всего, этим колонкам назначены "левые" поля НД (или вообще не назначены)
В этом случае после Query.Open поможет
Grid1.Columns.RebuildColumns;
Однако св-ва полей Query, если они заполнялись редактором полей в Design-mode, не мешает проверить
Солер (2002-09-25 18:30:00) [3]dbgrid
NP-237 (2002-09-25 16:53:00) [4]Кстати а где ты наблюдаешь выборку ?
Солер (2002-09-25 16:50:00) [5]Спасибо, Johnmen, что потратили на меня время, показали как правильно писать запрос
но видно не судьба. Не работает.
Не отбирает данные и всё.
В SQL bilder работает а в программе нет.
Прийдётся всё ломать и начинать с начала.
В принципе какие могут быть причины или мои ошибки,
что программа не видит запрос?
Johnmen (2002-09-25 15:53:00) [6]Во-первых, 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 15:44:00) [7]Начинаем сначала
Записываю 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 выдаёт
"Не могу выполнить эту операцию для открытого набора данных :( ?????.
И сразу начинаешь панимаешь, что ты тупой.
MsGuns (2002-09-25 14:52:00) [8]Скорее всего до выполнение запроса дело не доходит. Поставить бряк на Query.ExecSQL/Open
Johnmen (2002-09-25 14:51:00) [9]Для начала привести кусок кода по поводу присвоения значений параметрам...
Anatoly Podgoretsky (2002-09-25 14:50:00) [10]Ты очень уверен, что дату надо подать именно в таком формате, делай через параметры
Солер (2002-09-25 14:39:00) [11]Нет всё равно не идёт
Что-то здесь не то.
Например установил тип параметров как Date, а ввожу слова
программа даже не выдаёт ошибку.
Может быть нужно что-то изменить в инспекторе объектов?
Ума не приложу, что делать
NP-237 (2002-09-25 13:53:00) [12]Попробуй передать дату через параметры
Солер (2002-09-25 13:48:00) [13]Не отбирает данные
Johnmen (2002-09-25 13:42:00) [14]В чем нерабочесть то ???