Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
4 / 4 / 2
Регистрация: 01.05.2011
Сообщений: 98
1

Несколько запросов в одном событии

22.04.2013, 21:18. Показов 1467. Ответов 2
Метки нет (Все метки)

Доброго здоровья всем. Есть нужно выполнить сразу несколько SQL-запросов при нажатии кнопки.
Суть: оформление заказа.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm4.Button1Click(Sender: TObject);
var clif_id, usl_id:Integer;
begin
//заносим данные о клиенте
ADOQuery1.SQL.Text:=('insert into clients_f(clif_fio,clif_bday,clif_tel) values (:f,:b,:t)');
ADOQuery1.Parameters.ParamByName('f').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('b').Value:=Edit2.Text;
ADOQuery1.Parameters.ParamByName('t').Value:=Edit3.Text;
ADOQuery1.ExecSQL;
//получаем id клиента в переменную
ADOQuery1.Active:=False;
ADOQuery1.SQL.Text:=('select clif_id from clients_f where clif_fio = :f');
ADOQuery1.Parameters.ParamByName('f').Value:=Edit1.Text;
ADOQuery1.Active:=True;
clif_id:=ADOQuery1.Fields[0].AsInteger;
//получаем id выбранной услуги
usl_id:=StrToInt(DBLookupComboBox1.KeyField);
//заносим все в таблицу Заказ
ADOQuery1.SQL.Text:=('insert into zakaz_f(clif_id,usl_id) values (:c,:u)');
ADOQuery1.Parameters.ParamByName('c').Value:=clif_id;
ADOQuery1.Parameters.ParamByName('u').Value:=usl_id;
ADOQuery1.ExecSQL;
ShowMessage('Заказ успешно оформлен.');
end;
Ошибку выдает: "DBLookUpComboBox1: field 'usl_id' not found". Странно, потому что вроде связал правильно:
ListSource: DataSource1
KeyField: usl_id
ListField: usl_name
DataSource1 связан с ADOQuery1.
Если нужны еще какие-то подробности - пишите, все объясню. Заранее спасибо за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2013, 21:18
Ответы с готовыми решениями:

Несколько таблиц в одном DBGrid
Здравствуйте! Как отображать в дбгриде разные таблицы? То есть есть база данных со справочниками,...

Несколько таблиц в одном DBGrid
БД ACSESS, ADOQuery,DBGrid. Есть 2 таблицы с разным кол-вом полей. Как вывести обе в один DBGrid?...

Несколько графиков в одном окне. Как?
Исходные данные: таблица - аналог массива 96*i, i= 1 - ~. В моем случае массив . 83-й элемент -...

Выполнение одновременно несколько sql запросов одновременно
Здравствуйте. Есть проблема! Пролистал много сайтов и форумов и толком ничего не нашел. Суть...

2
58 / 58 / 7
Регистрация: 11.03.2013
Сообщений: 191
22.04.2013, 22:17 2
Мой преподаватель по программированию не советовал использовать DBLookUpComboBox ибо он глючный.
Попробуйте через какое-либо событие заполнить обычный ComboBox и уже из него забирать индексы.
1
662 / 554 / 240
Регистрация: 26.11.2012
Сообщений: 2,182
23.04.2013, 08:06 3
Цитата Сообщение от Vaaleraa Посмотреть сообщение
(DBLookupComboBox1.KeyField);
Вроде это свойство содержит имя поля к которому привязана компонента, а значение в KeyValue.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2013, 08:06

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Добавление данных в Postgresql, Несколько запросов в одном событии
Здравствуйте! Подскажите пожалуйста в чем может быть беда ? Первый запрос выполняется,...

Несколько запросов в одном
Можно ли сделать несколько запросов в одном? Например вот есть 2 таблицы и более с одинаковыми...

Несколько запросов в одном
Как можно добавить в одну таблицу строку и сразу же обновить строку в другой таблице, передав...

Выполнить несколько запросов в одном подключении
List<string> model = new List<string>(); List<string> nomer= new List<string>(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.