Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

Получение id записи   Найти похожие ветки 

 
Kostafey ©   (2007-01-28 03:46) [0]

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

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

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

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


 
Palladin ©   (2007-01-28 05:43) [1]

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;


 
Anatoly Podgoretsky ©   (2007-01-28 12:57) [2]

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

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


 
Kostafey ©   (2007-01-28 14:59) [3]

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

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


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

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


 
Palladin ©   (2007-01-28 21:45) [4]


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

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



Страницы: 1 вся ветка

Текущий архив: 2007.02.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.062 c
15-1169798133
leonidus
2007-01-26 10:55
2007.02.18
Помогите установить в D7 компонент EmbeddedWB


15-1170042777
Slider007
2007-01-29 06:52
2007.02.18
С днем рождения ! 29 января


2-1170309500
Gydvin
2007-02-01 08:58
2007.02.18
WideChar to Word


15-1169764560
Pass2
2007-01-26 01:36
2007.02.18
Как вы осуществляете перевод с C++ на Паскаль больших кусков кода


15-1169869873
IMHO
2007-01-27 06:51
2007.02.18
MS Outlook и NNTP