Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2008, 16:53   #1
kopernik21187
 
Регистрация: 18.08.2008
Сообщений: 5
По умолчанию проблема с SQL-запросом в связанных таблицах

Есть две связанные ADOTable1('Главная') и ADOTable2('Объекты'),а также ADOQuery1
ключевые поля и у той и у другой key1,связь через key1 у ADOTable1 и LinkKey у ADOTable2
при работе возникли кое-какие проблемы:
1.Когда я делаю запрос по всем полям
Код:

select *
from Главная
в одной таблице проблем не возникает.Когда обращаюсь к конкретным полям:
Код:

select Наименование
from Главная
он выдает "ADOQuery1: Field 'key1' not found ".Хотя все поля из ADOTable1 в ADOQuery1 добавлены....
2.когда добавляю в ADOQuery1 поля из второй таблицы и делаю запрос
по двум таблицам все повторяется также:
Код:

select *
from Главная,Объекты
то все нормально
Код:

select Наименование,Дата5
from Главная,Объекты
выдает "ADOQuery1: Field 'Адрес' not found"
где Наименование из ADOTable1('Главная')
Дата5 из ADOTable2('Объекты').
Подскажите пожалуйста как правильно построить запрос,
чтобы выборка была по конкретным полям таблиц.
3.Когда в ADOQuery1 внесены поля из обоих таблиц он перестает корректно выполнять запрос по одной таблице.то есть на запрос
Код:

select *
from Главная
выдает ADOQuery1: Field 'Главная.key1' not found
и как же в таком случае делать запрос только по одной таблице?

Заранее спасибо
kopernik21187 вне форума Ответить с цитированием
Старый 22.08.2008, 15:07   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Что-то ты явно не договариваешь, ибо того, о чем ты говоришь в п.1 быть не может! Выкладывай демо-код и такую же маленькую базу.
Баламут вне форума Ответить с цитированием
Старый 22.08.2008, 15:36   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Что-то ты явно не договариваешь, ибо того, о чем ты говоришь в п.1 быть не может!
да нет, как раз он об этом и говорит.
Цитата:
select Наименование
from Главная
он выдает "ADOQuery1: Field 'key1' not found ".Хотя все поля из ADOTable1 в ADOQuery1 добавлены....
Удали ВСЕ поля из ADOTable1 и ADOQuery1!!
в DesignTime!
Если ты добавил туда все поля (ну, например, у тебя там, есть поле KEY1) а потом в запросе выбираешь только одно поле select НАИМЕНОВАНИЕ ... то что компонент должен проставить в поля, которых нет?!
вот он и ругается :-)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.08.2008, 16:37   #4
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Удали ВСЕ поля из ADOTable1 и ADOQuery1!!
в DesignTime!
Если ты добавил туда все поля (ну, например, у тебя там, есть поле KEY1) а потом в запросе выбираешь только одно поле select НАИМЕНОВАНИЕ ... то что компонент должен проставить в поля, которых нет?!
вот он и ругается :-)
Сам попробуй так сделать и о результатах сообщи. Интересно же!
Баламут вне форума Ответить с цитированием
Старый 22.08.2008, 19:26   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Баламут Это Вы мне? а Вы собственно о чём?
предлагаете мне написать проект и в нём это тестировать? нет уж, извольте... :-))
мне БД и на работе более чем хватает. :-)

к слову, если бы kopernik21187 удосужился сделать тестовый проект и приложить демо-базку, сейчас бы совсем другой разговор был...

впрочем, если надо - я сделаю тестовую базу и проверю своё предположение. но явно не сегодня.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.09.2008, 10:33   #6
kopernik21187
 
Регистрация: 18.08.2008
Сообщений: 5
По умолчанию

В общем нужно было просто из ADOQuery удалить все поля и все пошло.Спасибо всем кто откликнулся.
kopernik21187 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемма с быстой сортировкой связанных списков Grind Помощь студентам 0 30.05.2008 20:33
Регистр в таблицах БД Alexij БД в Delphi 3 17.04.2008 13:38
Проблема с SQL Запросом Worms БД в Delphi 7 13.01.2008 23:09
[Microsoft][Драйвер ODBC dBase] Дата содержит синтаксическую ошибку в выражении запроса '#FNAIM_SH' Jon_1981 БД в Delphi 1 11.06.2007 10:20