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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2013, 22:11   #1
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию Как узнать существует ли такая таблица в базе данных?

База данных Access. В ней несколько таблиц с названиями 2011, 2012, 2013
Нужно программно проверить, есть ли таблица с именем 2013. Есть ли какой-то простой способ или надо сначала получить список всех таблиц, а потом проверять в цикле?
Dux вне форума Ответить с цитированием
Старый 26.01.2013, 22:28   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Есть. Попытаться подключиться компонентом TTable и обработать исключение (хотя чего там обрабатывать - если оно возникло, значит таблицы нема).

А можно и не обрабатывать - все-равно на уровне СУБД выкинет сообщение об ошибке в рабочем проекте. Другое дело, что чисто имхо это плохой тон - не отслеживать косяки.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 26.01.2013, 22:34   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

SELECT COUNT(*) FROM msysobjects HHERE name='Table1' AND type=1

+ через ADOX

+ и ADOCOnnection.GetTableNames
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.01.2013, 23:51   #4
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Я все-таки решил по своему.

Цитата:
ADOConnection1.GetTableNames(Listbo x1.items);
А в listbox уже проверяю.
Dux вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить существует ли таблица Jrcfyf БД в Delphi 2 09.02.2012 14:30
Есть ли такая таблица в базе Vervolf БД в Delphi 3 26.09.2011 22:31
Как узнать с помощью PHP, существует ли таблица в БД MySQL? motorway PHP 10 27.09.2010 15:01
Как узнать существует ли в БД нужная строка? kiber0net0 БД в Delphi 1 02.09.2008 21:31
Как узнать, существует ли в базе таблица с указанным именем? Seqular БД в Delphi 1 01.03.2007 10:19