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

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

и хранимая процедура [D7]


DBLookupComboBox ©   (2006-09-13 16:48:00) 

Люди подскажите!))

Есть хранимая процедура Add, которая должна передавать значение. Знаячение это хочу передавать с помощью DBLookupComboBox  из SQL запроса...и никак у меня это не получается...
Может я что-то неправильно понимаю...
В ListSource нужно указать таблицу из кот. будут браться элементы для списка....в моем случае это SQL запрос "ds_obj_clas"
В DataSource -- куда будем записывать результат выбора из списка....это хранимая процедура Add
В ListField -- что будет отображаться в списке
В KeyField -- какое значение будет записано в DataSource после выбора строки в списке
В DataField -- в какое поле таблицы/запроса, указанного в DataSource, будет записано значение поля KeyField.

Короче, код такой:
DBLookupComboBox1.DataSource:=???????
DBLookupComboBox1.ListSource:=Monitor_DM.ds_obj_clas;
DBLookupComboBox1.ListField:='object_class_name';
DBLookupComboBox1.KeyField:='object_class_id';
DBLookupComboBox1.DataField:='object_class_id';

Проблема в том, что если сказать DBLookupComboBox1.DataSourse:=Monitor_DM.Add то ошибка!!
Может кто подскажет, как передать это значение в храним. процедуру...


ЮЮ   (2006-09-14 10:21:00) [1]

//ошибка, здесь нельзя указать название хранимой процедуры)))

Здесь надо указать компонент TDataSource, который, в свою очередь, должен указывать на наследника TDataSet.


Есть хранимая процедура Add, которая должна передавать значение

Заголовок, плиз.
И каки образом её намерены выполнять, абрагировавшись нга время от DBLookupComboBox ?


DBLookupComboBox   (2006-09-14 10:18:00) [2]

Точно!!!!! Текущее значение!!!
KeyValue..))
Во тормоз)) Всем спасибо....все получилось!!))


DBLookupComboBox   (2006-09-14 09:52:00) [3]

))))))))вы прикалываетесь надо мной))) я понимаю что надо передать текущее значение...КАК?  

DBLookupComboBox1.DataSource:=??????? //ошибка, здесь нельзя указать название хранимой процедуры)))
DBLookupComboBox1.ListSource:=Monitor_DM.ds_obj_clas;
DBLookupComboBox1.ListField:='object_class_name';
DBLookupComboBox1.KeyField:='object_class_id';
DBLookupComboBox1.DataField:='object_class_id';


Sergey13   (2006-09-14 09:39:00) [4]

> [7] DBLookupComboBox   (14.09.06 09:33)

> Вот у меня и встал вопрос, как передать значение из DBLookupComboBox
> в хранимую процедуру.

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


DBLookupComboBox   (2006-09-14 09:33:00) [5]

Чего я хочу...)))Приведу пример, есть Магазин....в магазине есть база данных. в магазин завезли новые напитки, их нужно добавить в базу. помимо названия напитка они еще разделяются на алкогольные, неалкогольные, энергетические...и т.д. Оператор садится и начинает их заводить...напиток такой-то Алкогольный, напиток такой-то Неалкогольный....

И вот...чтобы оператор выбирал из списка названия алкогльный, неалкогольный и т.д. я и хочу использовать DBLookupComboBox....т.е. оператор вбивает название, выбирает из DBLookupComboBox вид (алкогольный, неалк.) нажимает кнопочку "Добавить"....и значения, кот он выбрал в DBLookupComboBox и соответственно название напитка, кот. он ввел передавались в хранимую процедуру Add, а она их уже добавляет в общую таблицу.

Вот у меня и встал вопрос, как передать значение из DBLookupComboBox в хранимую процедуру.


Desdechado   (2006-09-13 21:48:00) [6]

Если я правильно понял, в процедуру нужно передать параметром некое значение, взятое из другого датасета. Процедура вернет набор данных в неких еще один датасет.
Если так, но DBlookupCombo тут нафиг не нужен, не его это функция.


ANB   (2006-09-13 18:08:00) [7]


> DBLookupComboBox   (13.09.06 17:53) [4]

Объясни толком, чего ты хочешь.


DBLookupComboBox   (2006-09-13 17:53:00) [8]

kot`s...не не-то...??? либо я не поняла...либо что-то не то...


> DBLookupComboBox1.ListSource:=Monitor_DM.DataSource1;
> DBLookupComboBox1. KeyField:='object_class_id'; // указываешь поле которое хочу вывести


Я хотела так сделать)) в коде, кот я привела так и сделано, но нужно будет еще указать DBLookupComboBox1.DataSource---то куда нужно передать выбранное значение....вот тут и вопрос?? мое значение должно передаваться в хр. процедуру (StoredProc)....а мне его не передать...((


DBLookupComboBox   (2006-09-13 17:41:00) [9]

K_Lock, не мог бы объяснить по подробней))) что-то я не догоняю к чему это....видимо толрмоз!)

kot`s, интересная идея...ща попробую.))


kot`s   (2006-09-13 17:27:00) [10]

Я подключаюсь так:

Query1: храню запрос.

DataSource1.Подключаюсь к Query1.

DBLookupComboBox1.ListSource:=Monitor_DM.DataSource1;
DBLookupComboBox1.KeyField:='object_class_id'; // указываешь поле которое хочу вывести


K_Lock   (2006-09-13 17:15:00) [11]

Monitor_DM.ParamByName('Param').asVariant := DBLookupComboBox1.KeyValue;


Наверх

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