Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ / 11 сообщений из 11, страница 1 из 1
09.11.2006, 17:31
    #34117114
Mitar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
Эээээээээээээээээээээгггггггггггггггггеееееееегеееееееееееееееееееееее.
Всем горным людям привет от ТАТАР.

Как изменить структуру Таблицы dbf в FoxPro2.6

А если конкретно:
1) сменить имя поля (к примеру с Field1 на Field_1)
2)поменять тип поля (к примеру с numeric на character)
...
Рейтинг: 0 / 0
09.11.2006, 17:54
    #34117189
Gron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
ALTER TABLE?
...
Рейтинг: 0 / 0
09.11.2006, 18:49
    #34117366
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
MitarЭээээээээээээээээээээгггггггггггггггггеееееееегеееееееееееееееееееееее.
Всем горным людям привет от ТАТАР.

Как изменить структуру Таблицы dbf в FoxPro2.6

А если конкретно:
1) сменить имя поля (к примеру с Field1 на Field_1)
2)поменять тип поля (к примеру с numeric на character)

В FPD огромный гемор с этим делом, либо руками через modi stru либо создаешь новую таблицу с нужной структурой, заливаешь туда все из старой и заменяешь старую на новую.
...
Рейтинг: 0 / 0
09.11.2006, 18:51
    #34117368
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
Если есть сам Fox2.6, то командами:
use <table.dbf> exclusive
set
и в окне view давишь на Setup->Modify
...
Рейтинг: 0 / 0
09.11.2006, 18:53
    #34117377
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
а-а не посмотрел, если программно, то можно через
use <table>
copy structure extended ...
* модифицируем структуру
create from ...
append from ...
...
Рейтинг: 0 / 0
09.11.2006, 19:03
    #34117404
Mitar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
А как модифицировать структуру?
...
Рейтинг: 0 / 0
09.11.2006, 19:57
    #34117485
Mitar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
ВОт мой код:

use Table1
Copy structure extended to Temp
use Temp
*Модифицирую поле номер 12.
*В Таблице Table1 это поле характер.:имя - field1,type-numeric,len-5
*В Новой Таблице должно быть:имя - field_1,type-character,len-10
go 12
replace field_name with "Field_1"
replace field_type with "c"
replace field_len with 10
*Создаю новую Таблицу со сформированной структурой
create BackUp from Temp
*Копирую в новую Таблицу записи из Table1
append from &Table1

НЕ КОПИРУЮТСЯ ЗНАЧЕНИЯ ЗАПИСЕЙ ИЗ ПОЛЯ Field1
...
Рейтинг: 0 / 0
09.11.2006, 20:32
    #34117525
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
действительно гемор с преобразованием...
попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
* 
select Table1
scan
 scatter to temp
 temp( 12 )=str(temp( 12 ))
 select backup
 gather from temp
 select Table1
endscan
Есть еще вариант сразу написать
Код: plaintext
select ..., str(Field1, 10 ) as Field_1, ... from Table1 into dbf Backup
но придется перечислять все поля...
Правда, если полей не так много, то =afields() и & тебе помогут
...
Рейтинг: 0 / 0
09.11.2006, 20:45
    #34117537
Mitar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
Сделал чутк по другому: воспользовался COPY TO ARRAY и APPEND FORM ARRAY
use Table1
*Копируем Исходную Таблицу в Массив
Copy to array Mine
Copy structure extended to Temp
use Temp
*Модифицирую поле номер 12.
*В Таблице Table1 это поле характер.:имя - field1,type-numeric,len-5
*В Новой Таблице должно быть:имя - field_1,type-character,len-10
go 12
replace field_name with "Field_1"
replace field_type with "c"
replace field_len with 10
*Создаю новую Таблицу со сформированной структурой
create BackUp from Temp
*Копирую в новую Таблицу записи из Массива
append from array Mine
...
Рейтинг: 0 / 0
09.11.2006, 20:50
    #34117544
Mitar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
Андрюха, БОЛЬШОЕ СПАСИБО



МАЛЕНЬКИЕ ВЫВОДЫ:
ЕСЛИ ТАКАЯ ПРОБЛЕМА И ВОЗНИКАЕТ, ТО СКОРЕЕ ВСЕГО ИЗ - ЗА НЕСОБЛЮДЕНИЯ СТРУКТУР, ЧЕЛОВЕЧЕСКИЙ ФАКТОР (ЛЕНЬ, НЕЖЕЛАНИЕ И ПРОЧЕЕ). В НОРМАЛЬНЫХ ЖЕ УСЛОВИЯХ ЭТО НЕ НУЖНО.

РАССМАТРИВАЛАСЬ СИТУАЦИЯ РЕАЛИЗАЦИИ В FOXPRO2.6 НЕТ ТАМ НИКАКОЙ SQL - команды ALTER TABLE.

ЧТО ПОМОГЛО:
1)COPY TO ARRAY
2) COPY STRUCTURE EXTENDED TO
3) REPLACE
4)CREATE FROM
5) APPEND FROM ARRAY

AndreTM - БАХНЕМ КАК НИТЬ С ТОБОЙ ПО ПИВУ )))
...
Рейтинг: 0 / 0
11.11.2006, 15:10
    #34121225
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
MitarAndreTM - БАХНЕМ КАК НИТЬ С ТОБОЙ ПО ПИВУ )))
copy to array - я бы не советовал по одной простой причине:
это сейчас extended memory выше крышы (и то при нормальной настойке XP),
а на 486DX такого и в помине не было - таблица на 8 Мб при памяти в 6 Мб
просто сказала бы тебе insufficient memory...
так что век живи - лучше не будет...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]