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

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

не отрабатывается запрос в TQuery [D6, dBase, FoxPro]


Nikkkkk ©   (2003-08-20 15:10:00) 

!!!Уважаемые мастера!!!
У меня вот какая проблема. Необходимо сделать выборку из двух таблиц. Пример запроса:
select ttprod."nomttn",ttnakl."nomrec" from ttnakl,ttprod
where ttprod."nomttn"=ttnakl."nomrec"

В результате выполнения запроса не найдено ни одной записи,
хотя когда пишу этот же код в DB Explorer, все ищется и работает. Почему так ???
Заранее спасибо.


Nikkkkk   (2003-08-20 16:16:00) [1]

!!! СПАСИБО ВСЕМ ОГРОМНЕЙШЕЕ !!! РАБОТАЕТ !!!


Johnmen   (2003-08-20 16:08:00) [2]

Возьми даты в одиночные кавычки, а имена полей оставь без них...


Соловьев   (2003-08-20 16:06:00) [3]

select ttprod."nomttn",ttnakl."nomrec" from ttnakl,ttprod
where ttprod."nomttn"=ttnakl."nomrec" and ttnakl."datotg" between cast("01.07.03" as date) and cast("30.07.03" as date)


Nikkkkk   (2003-08-20 16:00:00) [4]

почему в DBExlorer работает а в программе нет ???


Nikkkkk   (2003-08-20 15:53:00) [5]

в TQuery.SQL-пишу:
select ttprod."nomttn",ttnakl."nomrec" from ttnakl,ttprod
where ttprod."nomttn"=ttnakl."nomrec" and ttnakl."datotg">"01.07.03" and ttnakl."datotg"<"30.07.03"

затем:
procedure TForm1.FormActivate(Sender: TObject);
begin
query1.open;
end;

Вот собственно и весь код.


Johnmen   (2003-08-20 15:50:00) [6]

Ещё раз. Если ожидаешь реальной помощи, приводи код ! Целиком !


Nikkkkk   (2003-08-20 15:47:00) [7]


> Соловьев © (20.08.03 15:42) [10]
> >отрабатывает безрезультатно
> а как ты это проверяешь?

Вижу в DBgrid-e


Жук   (2003-08-20 15:44:00) [8]

Nikkkkk = Nik5 ~ Nik8 :-)))
ЗЫ. Сорри за оффтоп.


Соловьев   (2003-08-20 15:42:00) [9]

>отрабатывает безрезультатно
а как ты это проверяешь?


Nikkkkk   (2003-08-20 15:40:00) [10]

select ttprod."nomttn",ttnakl."nomrec" from ttnakl,ttprod
where ttprod."nomttn"=ttnakl."nomrec" and ttnakl."datotg">"01.07.03" and ttnakl."datotg"<"30.07.03"

Вышеописанное прописываю при создании компонента TQuery (вручную). А далее по событию формы OnActivate делаю TQuery1.open;
Вот собственно и все, без всяких заморочек.


Johnmen   (2003-08-20 15:36:00) [11]

Приводи код, формирующий и выполняющий указанный запрос...


Nikkkkk   (2003-08-20 15:35:00) [12]


> Соловьев © (20.08.03 15:31) [6]
> А так?
>
> select t2."nomttn", t1."nomrec"
> from ttnakl t1
> left join ttprod t2 on t1."nomrec" = t2."nomttn"

отрабатывает безрезультатно, хотя ошибки уже не выдает...


Соловьев   (2003-08-20 15:31:00) [13]

А так?

select t2."nomttn", t1."nomrec"
from ttnakl t1
left join ttprod t2 on t1."nomrec" = t2."nomttn"


Nikkkkk   (2003-08-20 15:28:00) [14]

После отработки, и закрытия приложения выдает ошибку:
Runtim error 216 at 004036AE


Desdechado   (2003-08-20 15:25:00) [15]

try-except блок есть? может, подавляешь исключение, в котором оно тебе говорит, что не найдена таблица?


Nikkkkk   (2003-08-20 15:21:00) [16]


> Desdechado © (20.08.03 15:18) [2]
> делаешь qry.Open или qry.ExecSQL
> ExecSQL не возвращает набора данных

я стественно делаю Query1.open, но картина не меняется.


Desdechado   (2003-08-20 15:18:00) [17]

делаешь qry.Open или qry.ExecSQL
ExecSQL не возвращает набора данных


Nikkkkk   (2003-08-20 15:11:00) [18]

использую тип таблиц FoxPRO(другие использовать нельзя.)


Наверх

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