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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.10.2011, 13:38
den_d.i. den_d.i. вне форума
Прохожий
 
Регистрация: 28.10.2011
Сообщения: 12
Репутация: 10
По умолчанию Связь комбобоксов

Добрый день!Помогите пожалуйста разобраться
Суть идеи:
Есть база данных(ms sql server 2005), делаю приложение для учета картриджей итп.
использую компоненты Ado (Adoconnection,AdostoredProc,adotable,datasourse), отображаю в DBGridе,это основа,попробовал добавить данные в базу через Edit, все ок,т.е. так: например:ADOStoredProc27. Parameters.ParamValues['@model'] := Edit45.Text;ADOStoredProc27,вызавает хранимую процедуру в базе для добавления данных...
В общем проблема заключается в следующем:
1)
Хочу сделать не через edit, а выбирать данные из базы используя Dbcombobox,combobox или же через dblookupcombobox,
пробовал через Dbcombobox, в обработчике прописываю
Код:
procedure TForm1.DBComboBox1Enter(Sender: TObject);
begin
with ADOQuery5 do
try
    DBComboBox1.Items.BeginUpdate;
    DBComboBox1.Items.Clear;
      SQL.Text := 'SELECT DISTINCT [model] FROM [base] where [model] is not null'; //выбираю столбец model без повторения и без null
      Open;
      while not Eof do
      begin
        DBComboBox1.Items.Add(FieldByName('model').AsString);//соответственно заполняю items
        Next;
      end;     
      Close
  finally
    DBComboBox1.Items.EndUpdate;
  end;
end;
компилю,выбор работает но если я выбираю, например ту модель принтера которую мне нужно добавить в базу,то идет обновление/изменение существующей ячейки,а мне нужно из списка выбрать и через процедуру добавить в базу
2)База состоит из полей:
model,name_cart,number,serial_number,shtrix_code,s tatus,uchet,raspolozhenie
Хочу сделать связь 3-х комбобоксов по полям :model,name_cart,number
т.е. я в первом выбираю hp3052,во втором мне предлагал только 12А, а number список номеров,как-то так....
Ответить с цитированием
  #2  
Старый 31.10.2011, 15:57
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

По первому вопросу так и не догнал, в чем проблема. И честно говоря не понял, зачем вы вообще для своей задачи используете DBComboBox. Намного проще воспользоваться DBLookupComboBox.
Что касается второго вопроса, то либо делаете связку таблиц мастер-детайл, либо делаете одну таблицу с полями типа (Предок-Потомок)
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter