| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Добавление столбца в Access |
| Автор: GePo 1.8.2006, 23:01 |
| Такая проблема: Использую ADO для подключения к базе Access. В базе уже есть некая таблица tTest. Пусть в ней есть столбец ttName_en некоего типа( например - ftWideString ). Программно нужно создать столбец ttName_ru такого же типа, что и ttName_en в этой же таблице. 1) При использовании TADOTable.FieldDefs.Add я так понимаю, нужный столбец создается в памяти и в базе не создается. CreateField ведет себя аналогично. 2) Я бы с радостью использовал ALTER TABLE, если бы не одно но - в ADO типы нумеруется, а в запросе мне нужно их текстовое представление, которого нет. Итак, как же можно создать такой столбец? Желательно средствами ADO. |
| Автор: Golden Hands 1.8.2006, 23:58 | ||
Не понял. |
| Автор: Mephisto 2.8.2006, 09:46 |
| Я так понял ты хочешь динамически подставлять тип поля? |
| Автор: GePo 2.8.2006, 13:19 | ||
| Golden Hands, В ADO поле типа в классе TField имеет тип TFieldType. Это перечислимый тип => число. В запросе:
Вот как sometype должно писаться, я не знаю Mephisto, мне нужно создать поле с определенным типом, текстового названия которого я не знаю, только его значение TFieldType ( как ftWideString, ftInteger) |
| Автор: GePo 2.8.2006, 21:47 | ||
| Vit, вот, что наделал после соединения хелпа по Jet SQL и ADO. В Access, как я понял некоторые типы не поддерживаются. Вот, может кому понадобится:
|
| Автор: Vit 2.8.2006, 22:37 |
| ftFixedChar - char ftWord - int ftOraBlob - image Теоретичеки, всё что не влазит в описанные типы можно попробовать заткнуть в Image |
| Автор: GePo 3.8.2006, 21:45 |
| ok, код в соотвествии с этими замечаниями отредактировал. Спасибо. В этом коде, все нужные мне типы работают. |