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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2011, 17:41   #1
caen21rus
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 27
Восклицание SQL запрос

Подскажите пожалуйста код в котором участвуют два кобобокса и один из них зависит от другого,т.е. при выборе в одном списке одну определяющую во втором выпадает то что относится к выбранной определяющей первого.

Код:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT   ');
ADOQuery1.SQL.Add('FROM Типы_продукции INNER JOIN Название ON Типы_продукции.ID = Категории.Тип_продукции');
ADOQuery1.SQL.Add('WHERE Типы_продукции.Название='''+DB1.Text+'''');
ADOQuery1.Open;
Выходит ошибочка "Ошибочное или пропущенное зарезервированное слово или аргумент в инструкции Select или неверная пункация"

Последний раз редактировалось caen21rus; 14.03.2011 в 18:11.
caen21rus вне форума Ответить с цитированием
Старый 14.03.2011, 18:57   #2
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Что-же Вы здесь выбираете?
Цитата:
Сообщение от caen21rus Посмотреть сообщение
Код:
...
ADOQuery1.SQL.Add('SELECT   ');
...
До свидания
OlegVE вне форума Ответить с цитированием
Старый 14.03.2011, 19:17   #3
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Что же Вы так жестоко)))!
Цитата:
До свидания
Здесь нужно указать что вы хотите получить в результате запроса! Либо все поля либо какие то определённые!

Код:
ADOQuery1.SQL.Add('SELECT   ');
Например если все:

Код:
ADOQuery1.SQL.Add('SELECT *');
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 15.03.2011, 11:59   #4
caen21rus
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 27
По умолчанию

точно, потом увидели исправил выходит другая ошибка
Код:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT Категории.ID, Типы_продукции.Название, Категории.Категория   ');
ADOQuery1.SQL.Add('FROM Типы_продукции INNER JOIN Название ON Типы_продукции.ID = Категории.Тип_продукции');
ADOQuery1.SQL.Add('WHERE Типы_продукции.Название='''+DB1.Text+'''');
ADOQuery1.Open;
DB2.KeyField:='ID';
DB2.ListField:='Категрия';
Ошибка синтаксиса в операции Join
caen21rus вне форума Ответить с цитированием
Старый 15.03.2011, 12:25   #5
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Цитата:
Сообщение от caen21rus Посмотреть сообщение
Код:
...
ADOQuery1.SQL.Add('SELECT Категории.ID, Типы_продукции.Название, Категории.Категория   ');
ADOQuery1.SQL.Add('FROM Типы_продукции INNER JOIN Название ON Типы_продукции.ID = Категории.Тип_продукции');
ADOQuery1.SQL.Add('WHERE Типы_продукции.Название='''+DB1.Text+'''');
...
Ошибка синтаксиса в операции Join
Таблица Категории не входит в Ваш запрос (Вы предварительно не сообщили SELECT о таблице Категории) и потому SELECT о ней ничего не знает. Может Вы ошибочно вместо Категории в запросе поставили Название?
До свидания

Последний раз редактировалось OlegVE; 15.03.2011 в 12:29.
OlegVE вне форума Ответить с цитированием
Старый 15.03.2011, 12:36   #6
caen21rus
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 27
По умолчанию

Цитата:
Сообщение от OlegVE Посмотреть сообщение
Здравствуйте

Таблица Категории не входит в Ваш запрос (Вы предварительно не сообщили SELECT о таблице Категории) и потому SELECT о ней ничего не знает. Может Вы ошибочно вместо Категории в запросе поставили Название?
До свидания
Изменил название на категории, ошибки не выходит но нет связей,т.е когда выбираем тип продукции, должно выпасть список категории которые входят в тип продукции по ID, база заполнена верно связи ключи присуствуют
caen21rus вне форума Ответить с цитированием
Старый 15.03.2011, 12:54   #7
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Код:
DB2.ListField:='Категрия';
1. Это орфографическая ошибка или у Вас так в рабочем коде?
2. Вы обновляете компонент DB2 после внесения изменений?
3. У Вас заполнен DB1.Text на момент создания нового запроса?
До свидания
Добавка
Извините принесли работу, сегодня отвечать не буду.

Последний раз редактировалось OlegVE; 15.03.2011 в 16:24. Причина: Добавка
OlegVE вне форума Ответить с цитированием
Старый 15.03.2011, 14:59   #8
caen21rus
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 27
По умолчанию

Цитата:
Сообщение от OlegVE Посмотреть сообщение
Здравствуйте
Код:
DB2.ListField:='Категрия';
1. Это орфографическая ошибка или у Вас так в рабочем коде?
2. Вы обновляете компонент DB2 после внесения изменений?
3. У Вас заполнен DB1.Text на момент создания нового запроса?
До свидания
1. ошибка
2. возможно
3. должен быть заполнен
caen21rus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
SQL запрос Oleg Romanchuk Помощь студентам 2 23.11.2009 09:42
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15