Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.04.2012, 17:03
dimon4iknik dimon4iknik вне форума
Прохожий
 
Регистрация: 23.04.2012
Сообщения: 20
Репутация: 10
Вопрос Помогите разобраться в запросе! Диплом горит!

Всем привет. Помогите разобраться в запросе... Запрос ниже...
Код:
INSERT INTO [Решение для первой смены] ( количество_диванов, Название_дивана, Наименование_товара, расход_товара_на_каркас, расход_товара_на_сборку, расход_за_день, смена )
SELECT [ количество_диванов] AS количество_диванов, [Название дивана].Название_дивана, [Наименование товара].Наименование_товара, БД.расход_товара_на_каркас, БД.расход_товара_на_сборку, (([расход_товара_на_каркас]+[расход_товара_на_сборку])*[количество_диванов]) AS расход_за_день, [ Смена] AS Смена
FROM Смена, [Наименование товара] INNER JOIN ([Название дивана] INNER JOIN БД ON [Название дивана].Название_дивана = БД.Название_дивана) ON [Наименование товара].Наименование_товара = БД.Наименование_товара
GROUP BY [ количество_диванов], [Название дивана].Название_дивана, [Наименование товара].Наименование_товара, БД.расход_товара_на_каркас, БД.расход_товара_на_сборку, [ Смена]
HAVING ((([Название дивана].Название_дивана) Like "Адам1"));

В данный запрос мне нужно вставить 3-и параметра что б сделать его универсальным. подскажите куда именно их нужно вставить..
Код в Delphi:
Код:
procedure TForm5.btn1Click(Sender: TObject);
begin
 qry1.Active:=False;
 qry1.SQL.Text:='Нужен запрос';
 qry1.Parameters.ParamByName('param1').Value:=combobbox1.Text;
 qry1.Parameters.ParamByName('param2').Value:=Edit1.Text;
 qry1.Parameters.ParamByName('param3').Value:=combobbox2.Text;
  qry1.ExecSQL;
  qry1.Open;
Вот скрин окна программы...

Вот скрин запроса из БД...

Ну и связи БД...
Ответить с цитированием
  #2  
Старый 23.04.2012, 17:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не стал разбираться в запросе (ну кто так учил - русские названия, да еще и с пробелами). На вскидку увидел только одно место - в самом конце, где LIKE.

Вообще, параметры вставляются очень просто. Надо просто там, где идет сравнение, например в WHERE, для значения указывать имя параметра с двоеточием впереди. Типа:
Код:
SELECT * FROM Table WHERE Field = :param1
В данном случае указан параметр param1. Кавычки не нужны, даже если это строка.
Ответить с цитированием
  #3  
Старый 23.04.2012, 20:25
dimon4iknik dimon4iknik вне форума
Прохожий
 
Регистрация: 23.04.2012
Сообщения: 20
Репутация: 10
По умолчанию

Если бы я создавал эту БД, там бы небыло русских букв... И как параметр подставляеться, я знаю, Вопрос в том, где в запросе нужно подставить эти параметры... Помогите пожалуйста...
Ответить с цитированием
  #4  
Старый 24.04.2012, 19:31
tetabeta tetabeta вне форума
Прохожий
 
Регистрация: 24.04.2012
Сообщения: 1
Репутация: 10
По умолчанию

"Диплом горит". Да и хрен с ним, пусть горит. Кому какое дело до этого диплома? Поменьше на себе зацикливайтесь - может и повезет в жизни.
Ответить с цитированием
  #5  
Старый 24.04.2012, 20:15
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Почему надо вставить именно 3 параметра? У вас в запросе ограничение по 1 параметру, а два других куда впихнуть прикажете?
Условие с 1 параметровм будет так:
Код:
...
HAVING ((([Название дивана].Название_дивана) Like :Param1));
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 24.04.2012, 23:15
dimon4iknik dimon4iknik вне форума
Прохожий
 
Регистрация: 23.04.2012
Сообщения: 20
Репутация: 10
По умолчанию

Мне нужно ввести название дивана Это
Код:
qry1.Parameters.ParamByName('param1').Value:=combobbox1.Text;
количество диванов Это
Код:
qry1.Parameters.ParamByName('param2').Value:=Edit1.Text;
и номер смены Это
Код:
qry1.Parameters.ParamByName('param3').Value:=combobbox2.Text;

Первый параметр я понял куда ставить, а вот 2-й и 3-й... Тут проблема...
Ответить с цитированием
  #7  
Старый 29.04.2012, 16:28
dimon4iknik dimon4iknik вне форума
Прохожий
 
Регистрация: 23.04.2012
Сообщения: 20
Репутация: 10
По умолчанию

АП..................
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter