Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получения списка таблиц 
:(
    Опции темы
Step
Дата 14.1.2003, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



имеется псевдоним, как с помощь sql можно получить список таблиц, и полей таблицы. или с помощью чего это можно сделать из программы.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Vit
Дата 15.1.2003, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Если через BDE то через объект session, если через ADO то используй объект TADOConnection


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
AntonSaburov
Дата 15.1.2003, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Кроме этого в каждом SQL-сервер есть системные таблицы, которые содержат такой список. Но в принципе то, что предложил Vit, более универсально.
PM MAIL WWW ICQ   Вверх
Medved
Дата 15.1.2003, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



ADOConnection1.GetTableNames(ListBox1.Items, False);

Session1.GetTableNames(текущий алиас, '*.*' False, False, ListBox1.Items);

(Реализация в Delphi)


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Step
Дата 16.1.2003, 03:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



Цитата
ADOConnection1.GetTableNames(ListBox1.Items, False);

Session1.GetTableNames(текущий алиас, '*.*' False, False, ListBox1.Items);

(Реализация в Delphi)


Распиши что, и как работает


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Vit
Дата 16.1.2003, 03:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



А что тут расписывать, поставь на форму ListBox1, в Uses добавь dbtables, подставь нужный Alias и запусти этот код...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Step
Дата 16.1.2003, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



а если без АДО


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Vit
Дата 16.1.2003, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Что значит без 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 на указанных функциях и прочитать чтО они делают и если что-то непонятно то именно это и спрашивать, а тут у меня впечатление, что ты одним глазом взглянул и решил что непонятно...?




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Vit
Дата 16.1.2003, 04:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Пример получения списка полей таблицы я только что написал в другой топик: http://www.forum.vingrad.ru/cgi-bin....;t=5755 (не совсем об этом, но там используется), вообще-то  объект TFields содержит в себе список всех полей. Сам  объект TFields это свойство таблицы или квери. Так что пройти по всем полям будет что-то типа:

for i:=0 to table1.fieldcount-1 do
table1.fields[i].fieldname - имя поля, делай с ним что хочешь.

Это не полный код, просто пример...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Oleg
Дата 16.1.2003, 05:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 16.9.2002

Репутация: нет
Всего: нет



А какая вообще БД? Действительно, если какой-нибудь SQL- сервер,
оракл или мискл, то лучше в словарь данных обратиться.
--------------------
...Знающий не доказывает.   Доказывающий не знает...
PM MAIL   Вверх
Medved
Дата 18.1.2003, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



Если Oracle то выполнить запрос:

SQL
SELECT * FROM all_all_tables



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.