Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 21:07   #1
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию Компонент ComboBox

Как с помощью компонета ComboBox вывести список таблиц, чтобы затем в другом ComboBox вывести список полей этой таблицы и производить по ним сортировку, фильтрацию и поиск. Если можно пример кода. Буду очень благодарен.
Ericnex вне форума Ответить с цитированием
Старый 08.05.2012, 21:23   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Обычно СУБД имеет средства для доступа к таким данным запросом или процедурой. Обычный Select или вызов процедуры. У разных СУБД реализация может отличаться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 09.05.2012 в 00:27.
Аватар вне форума Ответить с цитированием
Старый 08.05.2012, 21:29   #3
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию

Пробую вот так:
procedure TForm1.ComboBox1Change(Sender: TObject);
var i:integer;
begin
Combobox2.Clear;
Combobox2.Text:='Выберете поле';
Case Combobox1.ItemIndex of
0:begin for i:=1 to 4 do Combobox2.Items.Add(Dbgrid1.Fields[i].Text); end;
1:begin for i:=1 to 6 do Combobox2.Items.Add(Dbgrid2.Fields[i].Text); end;
2:begin for i:=1 to 7 do Combobox2.Items.Add(Dbgrid3.Fields[i].Text); end;
3:begin for i:=1 to 3 do Combobox2.Items.Add(Dbgrid4.Fields[i].Text); end;
end;
end;
end.
Выдает ошибку.
Что неправильно?
Ericnex вне форума Ответить с цитированием
Старый 08.05.2012, 21:36   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Чет не понял, при чем здесь список таблиц и полей в таблицах - и DBGrid. Откуда возьмется список таблиц и их полей?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.05.2012, 21:46   #5
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию

я думал что свойство Field компонента DBGrid выведет мне хотя бы список полей. Теперь понял что это не так. А какие есть способы вывести список полей той или иной таблицы подскажите.
Ericnex вне форума Ответить с цитированием
Старый 08.05.2012, 22:02   #6
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

искать по INFORMATION_SCHEMA
=master= вне форума Ответить с цитированием
Старый 08.05.2012, 22:27   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если нужно из грида выдернуть список имен полей отбражаемых в колонках, то можно использовать
Код:
for i:=0 to DBGrid.Columns.Count-1 do 
  и имена полей в DBGrid.Columns[i].FieldName или DBGrid.Fields[i].FieldName
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.05.2012, 01:19   #8
Librarian
Пользователь
 
Регистрация: 24.08.2011
Сообщений: 14
По умолчанию

список таблиц получаю таким образом
Код:
ZQuery1.SQL.Clear;
ZQuery1.SQL.Add('SELECT * FROM information_schema.tables WHERE table_type="BASE TABLE" and table_schema=название базы;');
ZQuery1.Open;
его разместить можно в DBGrid или в DBComboBox
Librarian вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Webbrowser и combobox: сделать чтобы в combobox-е оставалась история посещенных сайтов uasya2 Общие вопросы Delphi 6 06.03.2011 20:24
Delphi компонент ComboBox severin Общие вопросы Delphi 12 08.10.2010 20:19
компонент типа ComboBox DeDoK Компоненты Delphi 5 22.07.2009 01:53
компонент ComboBox bbk_serg Помощь студентам 5 10.07.2009 13:08
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45