Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить тип поля бд? [D5, dBase, FoxPro]


diww ©   (2002-06-24 11:47:00) 

В бд (dbase 4) есть поле типа string в которое заносятся даты в формате "dd.mm.yy". Как програмно изменить это поле на date?
Или так не получится и надо будет добавлять новое поле типа date и копировать данные туда, а старое поле удалять?


sniknik   (2002-06-25 11:03:00) [1]

Формат Dbf это по сути форматированный текстовый файл. Текстовый в смысле данные (любые) хранятся в тексте в размере определенном в поле (если данных не хватает дополняются пробелами).

Т.е. если у тебя дата в стринге хранится "правильно" (размер 8, формат 20011030 первые 4-год 5-6 месяц 78 день) то можно просто тип поля поменять (букву C на D в заголовке).
Но это изврат (хотя и очень быстро и не зависит от размера)
а по правильному нужно добавить поле, перенести данные и удалить старое поле. Или сделать перенос в новую таблицу с нужным форматом.
Понадобятся SQL команды, ALTER TABLE ADD/DROP COLUMN и CREATE TABLE посмотри описание в хелпе.


Ptr   (2002-06-25 10:39:00) [2]

Непонятная задача...
Почему нельзя сразу заносить в поле типа DateTime?
или хранить даты в формате string ???


diww   (2002-06-25 10:29:00) [3]

Неужели никто не знает?
Да, и ещё надо чтобы в бд сохранялись все данные.


Наверх

Титульная страница Поиск, карта сайта Написать письмо