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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2010, 22:07   #1
hk47
Пользователь
 
Регистрация: 11.04.2010
Сообщений: 23
По умолчанию Получить список доступных баз данных через select.

Всем здравствуйте.
Я хочу в приложении для обработки БД предоставить пользователю выбор имени базы данных.
Хочу сделать так, чтобы в ComboBox при раскрытии списка все эти имена БД отражались.
Не знаю как это сделать. Помогите.
Я понял что надо юзать селект, что-то вроде:

select name from sys.databases

но не знаю как это все связать с ComboBox. Объясните пожалуйста
hk47 вне форума Ответить с цитированием
Старый 12.04.2010, 10:52   #2
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Код:
SELECT sys.sysobjects.name, sys.sysobjects.xtype 
FROM  sys.sysobjects
where xtype='U'
это скрипт для выбора всех таблиц базы на Microsoft SQL Server эго можно запихнуть в ADODataset и получить список баз, потом такой код:
Код:
 if not(adodataset1.isempty)
   then
     begin
       combobox1.clear;
       while not(adodataset1.eof) do
         begin
           combobox1.items.add(adodataset1.fields[0].value);
           adodataset1.next;
         end;
       combobox1.itemindex:=0;
      end;
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 13.04.2010, 07:28   #3
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Я, когда работаю с ADO, просто соединяюсь с базой через TADOConnection. У этого компонента есть процедура

Код:
GetTableNames(List: TStrings; SystemTables: Boolean = False);
Она выдает список таблиц БД. Не знаю как для MSSQL, но для Access и *.dbf она работает исправно.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

Последний раз редактировалось Andrei; 13.04.2010 в 08:01.
Andrei вне форума Ответить с цитированием
Старый 13.04.2010, 11:29   #4
hk47
Пользователь
 
Регистрация: 11.04.2010
Сообщений: 23
По умолчанию

Спасибо вам.
Кстати - Dark_Spirit. Я сделал чуть по другому. Вместо AdoDataSet поставил AdoQuery, а в запросе инфу взял из sysdatabases.
Все получилось.
hk47 вне форума Ответить с цитированием
Старый 13.04.2010, 11:40   #5
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
Кстати - Dark_Spirit. Я сделал чуть по другому. Вместо AdoDataSet поставил AdoQuery, а в запросе инфу взял из sysdatabases.
ADOQuery1 - тот же ADODataset со свойством CommandType=cmdText, но у ADODataset побольше свойств.
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 13.04.2010, 13:31   #6
hk47
Пользователь
 
Регистрация: 11.04.2010
Сообщений: 23
По умолчанию

А еще вопрос, если можно.
Получить теперь список таблиц из выбранной базы.
Тот способ, который предлагал Andrei реально не работает для SQL.
Я не могу поместить в строку соединения выбранную их ComboBox базу данных. Выдает ошибку: Недопустимый аргумент строки соединения.
я писал вот так
ADOConnection1.ConnectionString := 'Initial Catalogue=' + ComboBox1.Text;
AdoConnection1.GetTableNames(ComboB ox2,True);

ComboBox1 содержит имена баз данных
а ComboBox2 должен содержать имена таблиц.
hk47 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
список баз TaTT DoGG SQL, базы данных 1 31.03.2010 20:14
После SELECT через IBDataSet ошибка EIBClientError 'Not in edit mode' DiMoN2002 Общие вопросы C/C++ 0 23.11.2009 20:51
Необходимо в excel составить список баз 1С 8.1 и 1С 7.7 ru3000 Microsoft Office Excel 1 14.10.2009 22:21
Получить список пользователей работающих через удаленный рабочий стол AlexandrSid Общие вопросы Delphi 2 01.06.2009 18:55
Выбор данных с листов через выпадающий список DimDimos Microsoft Office Excel 5 17.12.2008 11:27