Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не выполняется 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]

В чем нерабочесть то ???


Наверх

Титульная страница Поиск, карта сайта Написать письмо