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

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

Получение id записи


Kostafey ©   (2007-01-28 03:46:00) 

Окажите пожалуйста содействие в следующем вопросе.
В БД (СУБД MS SQL Server) имеется ряд таблиц вида:
id   name
5    Пожар
6    Наводнение
7    Снежный буран
8    null

Я хочу получить в ComboBox значения name + еще одно (например, Все несчастья) и убрать все null, т.е.
Все несчастья
Пожар
Наводнение
Снежный буран

Для этого я использовал обычный ComboBox и в него последовательным перебором добавлял все значения.
А потом мне нужно по выбранному значению получить id (если выбрано "Все несчастья", то id пусть будет 999).

Это как-нибудь можно сделать не обращаясь повторно к БД с запросом ?


Palladin   (2007-01-28 21:45:00) [1]


> Ух ты! Шикарно работает!
> Но как же так. Получается, что item- это не обязательно
> строка, а любой объект?
> а как же тогда ComboBox "понимает", что нужно тогда выводить
> на экран именно строки (fields[1].asstring) ?

читай справку по tstrings


Kostafey   (2007-01-28 14:59:00) [2]

> [1] Palladin ©   (28.01.07 05:43)

Ух ты! Шикарно работает!
Но как же так. Получается, что item- это не обязательно строка, а любой объект?
а как же тогда ComboBox "понимает", что нужно тогда выводить на экран именно строки (fields[1].asstring) ?


> [2] Anatoly Podgoretsky ©   (28.01.07 12:57)

Спасибо. Так и сделал.


Anatoly Podgoretsky   (2007-01-28 12:57:00) [3]

> Kostafey  (28.01.2007 03:46:00)  [0]

If ComboBox[] = 'Все несчастья' then result := 999 else result := ...


Palladin   (2007-01-28 05:43:00) [4]

with tadoquery.create(nil) do
 try
  connection:=...
  sql.text:='select id,name from table';
  open;
  while not eof do
   begin
    combobox.items.addobject(fields[1].asstring,tobject(fields[0].asinteger));
    next;
   end;
  close;
 finally
  free;
 end;

procedure tform1.combobox1select;
begin
 showmessage('ID='+inttostr(integer(combobox1.items.objects[combobox1.itemindex])));
end;


Наверх

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