On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 8
Зарегистрирован: 24.07.12
ссылка на сообщение  Отправлено: 02.04.13 16:05. Заголовок: динамически добавить поля


Добрый день, All!
Подскажите возможно ли программно добавлять в рабочую базу новые поля?
Мне представляется только один метод:
создать базу с новой структурой и в цикле по полям и записям добавить туда данные из старой базы, потом старую базу удалить а новую назвать старым именем
Есть ли другой метод?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 4 [только новые]


Администратор




Пост N: 2815
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.04.13 16:52. Заголовок: chirr пишет: Есть л..


chirr пишет:

 цитата:
Есть ли другой метод?



Нет, это единственно возможный способ, я тоже так делаю.
Необходимо, чтобы при этом файл был открыт одним пользователем, который и добавляет поля. При сетевой работе добавить новые поля нельзя.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 39
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 03.04.13 10:09. Заголовок: Я делаю примерно так..


Я делаю примерно так (пример), может пригодится. Open_Dbf - моя функция, нужна переиндексация.
select TKLIENTS
if FieldNum( 'ID_USER' ) == 0
n := lastrec()
a := DbStruct()
aAdd( a, { 'ID_USER', 'N', 7, 0 } )
use
DbCreate( SPaths[1]+'TKLIENTS.db', a )
use ( SPaths[1]+'TKLIENTS.db' )
sayDo( { 'Модифицирую TKLIENTS.dbf',;
'Количество записей '+alltrim(str(n,20)) } )
append from ( SPaths[1]+'TKLIENTS.dbf' )
use
delete file ( SPaths[1]+'TKLIENTS.dbf' )
rename (SPaths[1]+'TKLIENTS.db') to (SPaths[1]+'TKLIENTS.dbf')
Open_Dbf( "TKLIENTS", .t. ) // переиндексация
endif


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 334
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 06.04.13 07:54. Заголовок: Нормально! Я почему-..


Нормально! Я почему-то думал , что append from только для одинаковых структур. Оказывается к большей меньшее , то же можно

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 06.04.13 08:43. Заголовок: Таки и к меньшей структуре можно


Не переваривает только разные типы одного поля.

Спасибо: 0 
Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 403
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет