Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как изменить формат поля в DBF файле ? 
:(
    Опции темы
MouseHouse
Дата 10.1.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мышкин Дом



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.3.2006

Репутация: нет
Всего: нет



формат поля numeric

Пробую так

Table1.FieldDefs.Items[0].DataType:=ftString;
Table1.FieldDefs.Items[0].Size := 30;

а вот чтоб  изменения вступили в силу как?
PM MAIL   Вверх
Rodman
Дата 10.1.2007, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



откуда взял???

Код

Table1.FieldDefs.Items[0].DataType:=ftString;
Table1.FieldDefs.Items[0].Size := 30;
Table1.Post;


не прокатит???
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Mephisto
Дата 10.1.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



В DBF не помню, но копать стоит в сторону alter table. По крайней мере так в остальных. Хотя тут не факт.
PM   Вверх
MouseHouse
Дата 10.1.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мышкин Дом



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.3.2006

Репутация: нет
Всего: нет



Table1.Post; не прокатит

Взял по аналогии создания таблицы





PM MAIL   Вверх
Mephisto
Дата 10.1.2007, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Цитата(MouseHouse @  10.1.2007,  10:59 Найти цитируемый пост)
Table1.Post; не прокатит

Взял по аналогии создания таблицы

Но ведь для этого и SQL запрос соответствующий написать надо, типа:

Код

Create Table.......


Тут ничем не отличается. Нужно написать:

Код

Alter Table.......


А потом Post.
PM   Вверх
MouseHouse
Дата 10.1.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мышкин Дом



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.3.2006

Репутация: нет
Всего: нет



нет того что могло выполнить  SQL запрос .. нет BDE,
используюся компоненты прямого доступа к DBF файлу

PM MAIL   Вверх
Mephisto
Дата 10.1.2007, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Какой компонент используешь?

Возьми вместо Table Query, все connection настрой так же...
PM   Вверх
MouseHouse
Дата 10.1.2007, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мышкин Дом



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 28.3.2006

Репутация: нет
Всего: нет



Mephisto и кто выполнит мне код SQL?  
НЕТ у меня SQL сервера и BDE нет с помощью которой  Query и выполняет SQL запрос 



Это сообщение отредактировал(а) MouseHouse - 10.1.2007, 10:55
PM MAIL   Вверх
ТоляМБА
Дата 10.1.2007, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Цитата(Mephisto @  10.1.2007,  10:05 Найти цитируемый пост)

Alter Table.......

А потом Post. 

При чём тут Post??? Надо Query1.ExecSQL;

Цитата(MouseHouse @  10.1.2007,  10:53 Найти цитируемый пост)
и BDE нет 
 Хм. Странно - Делфя есть а BDE нет. Впервые такое слышу.

Короче поменять сразу даже в SQL врядли получится. Сделать можно трехходовкой:
1. Через Alter Table добавить столбец с нужным типом
2. Через Update присвоить значения новому столбцу
3. Опять таки через Alter Table убить старый столбец.

PM   Вверх
Rodman
Дата 10.1.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Код

ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]

alter_specification:
        ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
  or    ADD [COLUMN] (create_definition, create_definition,...)
  or    ADD INDEX [index_name] (index_col_name,...)
  or    ADD PRIMARY KEY (index_col_name,...)
  or    ADD UNIQUE [index_name] (index_col_name,...)
  or    ADD FULLTEXT [index_name] (index_col_name,...)
  or    ADD [CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...)
            [reference_definition]
  or    ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
  or    CHANGE [COLUMN] old_col_name create_definition
               [FIRST | AFTER column_name]
  or    MODIFY [COLUMN] create_definition [FIRST | AFTER column_name]
  or    DROP [COLUMN] col_name
  or    DROP PRIMARY KEY
  or    DROP INDEX index_name
  or    DISABLE KEYS
  or    ENABLE KEYS
  or    RENAME [TO] new_tbl_name
  or    ORDER BY col
  or    table_options


вникай
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Mephisto
Дата 10.1.2007, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



 smile  smile 

Это сообщение отредактировал(а) Mephisto - 10.1.2007, 12:43
PM   Вверх
SergeBS
Дата 10.1.2007, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



MouseHouse, 
Даже не надейся "на лету" менять структуру. Поскольку везде это изменение делается одинаково:
1. Делается временная таблица с новой (измененной) структурой.
2. В нее копируются данные (все, что можно преобразовать или не изменившегося типа) из старой таблицы.
3. Старая таблица удаляется.
4. Временная таблица переименовывается в имя старой.
Кстати, если у MS SQL менять структуру таблицы, он этот способ отчетливо пропишет в скрипте на изменение.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.