Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизПолучение 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.055 c