Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.19;
Скачать: CL | DM;

Вниз

Как организовать проверку наличия таблиц ?! подскажите плз..   Найти похожие ветки 

 
:: Hamster ::   (2002-08-29 16:48) [0]

Не могу сообразить чво-то..


 
Turalyon ©   (2002-08-29 16:53) [1]

try
MyQuery.SQL.Clear;
MyQuery.SQL.Add("select * from MyTable");
MyQuery.Open;
except on EDBEngineError // что то не то... :)

Кривовато конечно.... первое, что в голову пришло так что извиняйте...


 
MsGuns ©   (2002-08-29 17:11) [2]

TTable.Close;
TTable.TableName := "MyTable";
If TTable.Exists then
ShowMessage("Ура ! Есть табла !!");


 
MsGuns ©   (2002-08-29 17:14) [3]

TTable.Exists
или если не хо исп-ть эту компоненту или за раз проверить наличие многих таблиц
TDataBase.GetTableNames(TableList,false)
В TableList (его надо создать заранее) список всех таблов в данной БД


 
:: Hamster ::   (2002-08-29 17:17) [4]

Спасиб!


 
Val ©   (2002-08-29 17:33) [5]

select rdb$relation_name from rdb$relations
where (rdb$system_flag = 0) and (rdb$view_source is null)
and rdb$relation_name = "myneedtable"

и проверять на наличие записей в возвращаемом НД.


 
MsGuns ©   (2002-08-29 18:04) [6]

>Val
Зачем же есть суп вилкой-то ?


 
Val ©   (2002-08-29 18:07) [7]

>MsGuns © (29.08.02 18:04)
поясните?


 
MsGuns ©   (2002-08-29 18:24) [8]

>Val
Ваш метод применим, насколько я понимаю, тоько к IB-подобным БД, а то, что написал я - шире. Да и проще, т.к. позволяет НЕ ЗНАТЬ некоторые спецфункции.
Не претендую на истину, это только МОЕ мнение (возможно, не слишком квалифицированное). Просто я считаю, что ЧЕМ ПРОЩЕ, ТЕМ ЛУЧШЕ
С уважением


 
Val ©   (2002-08-29 18:41) [9]

1.в вопросе указан именно IB;
2.с чего вы взяли что определение идет именно на клиенте?
3.использование TTable для серверной субд не является лучшим решением - общепризнанный факт не так ли?
4.у TDataBase НЕТ такого метода(в D5 по крайней мере), он есть у TIBDataBase, с чего вы взяли что он использует IBX?
5. откуда он возьмет имена таблиц для List?
6. вы думаете что применение запроса это сложно? человеку работающему с серверной субд не мешало бы знать о системных таблицах.

по-моему моей вилочкой можно кушать? :)


 
Val ©   (2002-08-29 18:52) [10]

>MsGuns ©
поправлюсь со своим пятым пунктом - неверно понял ваше сообщение по поводу создания list. Скажите, что удобнее/оптимальнее по-вашему получить список всех таблиц в лист(почти тот же запрос к серверу), а потом искать в нем нужное или использовать обыкновенный запрос?


 
MsGuns ©   (2002-08-29 18:56) [11]

>Val © (29.08.02 18:41)

>2.с чего вы взяли что определение идет именно на клиенте?

а с чего вы взяли что определение идет именно на сервере?

>3.использование TTable для серверной субд не является лучшим >решением - общепризнанный факт не так ли?

У Вас есть уверенность, что автор вопроса НЕ использует этот компонент или его сородичей (TIBTable) ?

>4.у TDataBase НЕТ такого метода(в D5 по крайней мере), он есть >у TIBDataBase, с чего вы взяли что он использует IBX?

у TDataBase ЕСТЬ такогй метод. Не буду утверждать, что он есть в 5 (не работал с ним), но в 4-м ЕСТЬ !

>6. вы думаете что применение запроса это сложно? человеку >работающему с серверной субд не мешало бы знать о системных >таблицах.

Вопрос дискуссионный, мне не хочется его тут обсуждать. Опять же все зависит от автора вопроса. Если он администратор, то он НЕ ДОЛЖЕН задавать таких вопросов, а если начинающий администратор, то обязан прежде чем что-то создавать, хотя бы в общих чертах ознакомиться с тех.документацией.
Поэтому я и сделал вывод, что он (автор) человек из начинающих и работает КАК КЛИЕНТ, даже если и реализует сервер. А для новичков лучше методы простые, которые, как правило, подходят к большинству БД. BDE работает с IB, Вы же не будете это оспаривать ?

Вот и вся моя логика когда я писал не пнравившуюся Вам фразу


 
Val ©   (2002-08-29 19:01) [12]

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


 
MsGuns ©   (2002-08-29 19:10) [13]

>Val © (29.08.02 19:01)
Сгоден ! Кстати, привет Харькову - я там в хаевнике учился ! Класс !!!))))))



Страницы: 1 вся ветка

Текущий архив: 2002.09.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-61110
grigorys
2002-09-10 10:38
2002.09.19
Как вызвать End Process из Delphi и прервать действие программы


1-61187
Кролик
2002-09-08 10:47
2002.09.19
Наследование классов


1-61164
MaximatorVeter
2002-09-07 16:21
2002.09.19
Как правильно (принято) зап-ть перебор эл-ов динам-го массива?


1-61109
AM
2002-09-10 10:01
2002.09.19
QReport


14-61295
Cr@sh
2002-08-23 10:38
2002.09.19
Подскажите, где найти справочник.