Форум: "Базы";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];
ВнизКак организовать проверку наличия таблиц ?! подскажите плз.. Найти похожие ветки
← →
:: 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c