| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > динамическое заполнение ComboBox из бызы данных. |
| Автор: gambit 14.3.2007, 11:29 |
| грубый пример но примерно так: На форме есть таблица dbgrid из 2 столбцов(id,ФИО), ComboBox и label. Так вот мне надо чтоб в ComboBox появились все значения столбца фио, а при выборе, в label записывалось значение id выбранного ФИО. |
| Автор: Yanis 14.3.2007, 11:33 |
Как вижу слово надо, так и хочется ответить "Больше тебе ничего не надо?" Почему бы не сипользовать TDBComboBox и TDBText? |
| Автор: Данкинг 14.3.2007, 11:35 |
| Ну, циклом проходим по таблице и добавляем значения в комбик, больше никак ИМХО. |
| Автор: gambit 14.3.2007, 11:37 |
| Автор: ama_kid 14.3.2007, 12:24 | ||
| Что-то я не понял, видимо, проблему... Такой код:
у меня никогда не вызывал проблем... |
| Автор: gambit 15.3.2007, 11:54 | ||
Использую код
На форме таблица | а | b | c | | 1 | 1 | 1 | | 2 | 2 | 2 | | 3 | 3 | 3 | | 4 | 4 | 4 | | 5 | 5 | 5 | После выполнения в combobox1 должно появится 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 Запускаю и получаю 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Начинаю проверять что не так, ставлю точку прерывания делаю по шагам и о чудо в итоге получаю 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 На радостях снимаю точку, запускаю и в итоге 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Снятие оптимизации кода непомогает, что это может быть? Я уже измучился. |
| Автор: ama_kid 15.3.2007, 12:48 |
| Если в дебаге на данном участке кода все нормально - вывод: скорее всего какой-то другой код еще вступает в действие и выполняет работу с комбобоксом. Приведи полностью проект... |
| Автор: gambit 15.3.2007, 16:00 |
| Лови |
| Автор: gambit 15.3.2007, 16:28 |
| Кстати там в реестре надо будет добавит ключ pach с путем к проге. Просто это маленькая часть огромного комплекса. И лови то что готово от бызы данных. Она должна лежать в папке pach. |
| Автор: ama_kid 15.3.2007, 16:46 | ||||||
во-первых, из-за того, что у меня не открывалась по умолчанию таблица, я добавил еще открытие таблицы:
Не совсем понятно, почему у тебя она открывается, ну да ладно... Во вторых: замени
на
Должно заработать... Добавлено: Нет, нифига, чо-та не хочет... Копаем дальше... Вообще е совсем правильная концепция - использование TADOTable для получения информации... Добавлено @ 16:58 А, блин... Надо использовать конструкцию типа: s:=form1.ADOTable1.Fields[1].AsString +' '+form1.ADOTable1.Fields[2].AsString+' '+form1.ADOTable1.Fields[3].AsString; |
| Автор: gambit 15.3.2007, 17:13 | ||
Лови + |