Вопрос № 97313: Здравствуйте, подскажите пожалуйста, как определить есть ли поле в таблице (хочу модернизировать таблицу в случае отсутствия нужного поля)...
Вопрос № 97.313
Здравствуйте, подскажите пожалуйста, как определить есть ли поле в таблице (хочу модернизировать таблицу в случае отсутствия нужного поля)
Отправлен: 04.08.2007, 11:27
Вопрос задала: Kovri (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Виктор Пырлик
Здравствуйте, Kovri!
В приложении дан рабочий код.
добавлена функция-обертка, для ужобства. Принимает два параметра - имя поля и набор данных (TTable, TADOTable, TIBTable и т.д.)
Приложение:
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 04.08.2007, 14:18
Отвечает: Shveps
Здравствуйте, Kovri!
Можно сделать запрос к этой таблице из делфи типа SELECT * FROM Table. А дальше у наследников TDataSet есть метод FindField(const FieldName: string), который возвращает true или false, в зависимости от того: существует поле или нет.
--------- Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 6-ой класс)
Ответ отправлен: 05.08.2007, 09:27
Отвечает: Mishell
Здравствуйте, Kovri!
вариант 1 - использовать функцию DataSet'а
function FindField(const FieldName: string): TField;
вариант 2 - загрузить все поля в список с пом. процедуры DataSet'а
procedure GetFieldNames(List: TStrings); virtual;
и потом искать и обрабатывать нужные поля
см. какой метод покажется Вам более подходящим
добавить же отсутствующее поле в таблицу можно например запросом:
alter table <таблица> add <поле> <тип поля> ( <размер поля> )
Ответ отправил: Mishell (статус: 4-ый класс)
Ответ отправлен: 06.08.2007, 09:47