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

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

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

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

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

В FPD огромный гемор с этим делом, либо руками через modi stru либо создаешь новую таблицу с нужной структурой, заливаешь туда все из старой и заменяешь старую на новую.
...
Рейтинг: 0 / 0
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #34117368
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть сам Fox2.6, то командами:
use <table.dbf> exclusive
set
и в окне view давишь на Setup->Modify
...
Рейтинг: 0 / 0
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #34117377
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а-а не посмотрел, если программно, то можно через
use <table>
copy structure extended ...
* модифицируем структуру
create from ...
append from ...
...
Рейтинг: 0 / 0
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #34117404
Mitar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как модифицировать структуру?
...
Рейтинг: 0 / 0
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #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
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #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
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #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
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #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
ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
    #34121225
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MitarAndreTM - БАХНЕМ КАК НИТЬ С ТОБОЙ ПО ПИВУ )))
copy to array - я бы не советовал по одной простой причине:
это сейчас extended memory выше крышы (и то при нормальной настойке XP),
а на 486DX такого и в помине не было - таблица на 8 Мб при памяти в 6 Мб
просто сказала бы тебе insufficient memory...
так что век живи - лучше не будет...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПРОГРАММНОЕ ИЗМЕНЕНИЕ СТРУКТУРЫ ТАБЛИЦЫ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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