| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > получения списка таблиц |
| Автор: Step 14.1.2003, 23:30 |
| имеется псевдоним, как с помощь sql можно получить список таблиц, и полей таблицы. или с помощью чего это можно сделать из программы. |
| Автор: Vit 15.1.2003, 00:41 |
| Если через BDE то через объект session, если через ADO то используй объект TADOConnection |
| Автор: AntonSaburov 15.1.2003, 01:25 |
| Кроме этого в каждом SQL-сервер есть системные таблицы, которые содержат такой список. Но в принципе то, что предложил Vit, более универсально. |
| Автор: Medved 15.1.2003, 02:10 |
| ADOConnection1.GetTableNames(ListBox1.Items, False); Session1.GetTableNames(текущий алиас, '*.*' False, False, ListBox1.Items); (Реализация в Delphi) |
| Автор: Step 16.1.2003, 03:01 | ||
Распиши что, и как работает |
| Автор: Vit 16.1.2003, 03:10 |
| А что тут расписывать, поставь на форму ListBox1, в Uses добавь dbtables, подставь нужный Alias и запусти этот код... |
| Автор: Step 16.1.2003, 03:28 |
| а если без АДО |
| Автор: Vit 16.1.2003, 04:03 |
| Что значит без ADO?!! Ну взял бы, указал, вначале, через какую систему ты обращаешься к базам данных? - ADO, DAO, BDE, ODBC, RDO, DBExpress, JDBC, DOA и т.д. Стандартного способа нет. Зависит от провайдера баз данных, мы же не телепаты! Узнать что ты имеешь ввиду не можем, как именно ты коннектишься к базе данных мы не знаем. Если тебя интересует команда SQL, то таковой нет. Через ADO это делается: ADOConnection1.GetTableNames(ListBox1.Items, False); Через BDE это делается: Session1.GetTableNames(текущий алиас, '*.*' False, False, ListBox1.Items); PS. Тебе несколько раз дали варианты ответов, неужели нельзя ткнуть F1 на указанных функциях и прочитать чтО они делают и если что-то непонятно то именно это и спрашивать, а тут у меня впечатление, что ты одним глазом взглянул и решил что непонятно...? |
| Автор: Vit 16.1.2003, 04:09 |
| Пример получения списка полей таблицы я только что написал в другой топик: http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=2;t=5755 (не совсем об этом, но там используется), вообще-то объект TFields содержит в себе список всех полей. Сам объект TFields это свойство таблицы или квери. Так что пройти по всем полям будет что-то типа: for i:=0 to table1.fieldcount-1 do table1.fields[i].fieldname - имя поля, делай с ним что хочешь. Это не полный код, просто пример... |
| Автор: Oleg 16.1.2003, 05:56 |
| А какая вообще БД? Действительно, если какой-нибудь SQL- сервер, оракл или мискл, то лучше в словарь данных обратиться. |
| Автор: Medved 18.1.2003, 11:58 | ||
Если Oracle то выполнить запрос:
|