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

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

Как переименовать поле в физической базе  прогаммным путем? [D7, dBase, FoxPro]


Страницы:   1 2

SCORPION ZP ©   (2003-07-01 20:53:00) 

Есть таблица в формате dBASE. В неё программно добавляем поля,
причем новые могут совпадать по имени с уже существующими. И вот
очень желательно переименовать не новые поля, а старые -
совпадаюшие...


гончий   (2003-07-02 12:51:00) [21]

Не DegisyData! а DegisyDb!!!
http://www.degisy.com/download.php?lang=rus


SCORPION ZP   (2003-07-02 12:15:00) [22]

гончий
> тебе необходимо зарегистрировать компонент TRenameFields
> он находится в файле DbChk.pas

...файле DbChk.pas - А где этот файл в DegisyDataD7.dpk ?

Anatoly Podgoretskyи sniknik
1.DbiDoRestructure-?
2.Есть таблица dBASE, но по-моему данные в ней закодированы(т.к.
поля строковые...и в них должны быть цифры(!)-много денег, но их прочесть нельзя(кроме первого поля)). А вот работать с таблицей надо. А как? sniknikсмотри ящик.


гончий   (2003-07-02 11:35:00) [23]

2 SCORPION ZP: его нужно установить как компонент. Если не хочешь устанавливать всю библиотеку - тебе необходимо зарегистрировать компонент TRenameFields (он находится в файле DbChk.pas)


Anatoly Podgoretsky   (2003-07-02 11:28:00) [24]

Это если только переименовать, но я думвю что с этим нормально справится и dbiDoRestructure, тем более что есть примеры в справке.


sniknik   (2003-07-02 11:16:00) [25]

для таблиц dBase без индексов не сложно и заголовок самому поправить.

Anatoly Podgoretsky
дяденька не бейте меня больно... :о)))


SCORPION ZP   (2003-07-02 11:13:00) [26]

гончий
А как подключить TRenameFieldsк Delphi - скинуть все
в "C:\Program Files\Borland\Delphi6\Lib"


гончий   (2003-07-02 10:59:00) [27]

Тебе ничто не мешает посмотреть как это сделано в TRenameFields и сделать самому! Там как и в Database Desktop все реализовано через DbiDoRestructure


Anatoly Podgoretsky   (2003-07-02 10:56:00) [28]

Когда не идут прямые пути, то используются обходные, а их много
от 6 шаговой композиции с Add/Drop до создания новой таблицы.
Database Desktop делает это вторым путем.


SCORPION ZP   (2003-07-02 10:48:00) [29]

Anatoly Podgoretsky
Что вы посоветуете. Неужели я первый пытаюсь поменять имя поля программно. Нет на это дело стандартной процедуры или функции?
Или нужно пользоваться сторонними компонентами типа TRenameFields


SCORPION ZP   (2003-07-02 10:44:00) [30]

гончий
В конструкторе Database Desktop это делается легко, а програмным путем ... я не знаю


Anatoly Podgoretsky   (2003-07-02 10:44:00) [31]

SCORPION ZP © (02.07.03 10:37)
Просто там нет RENAME.
Синтаксис описан в справке подробно!


гончий   (2003-07-02 10:41:00) [32]

В local sql нельзя изменить ни тип, ни имя поля к сожалению!


SCORPION ZP   (2003-07-02 10:37:00) [33]

Dred2kПочему не работает след код в LocalSQL для dBASE
Query1.sql.text:="ALTER TABLE "SHOPKR.DBF" RENAME COLUMN DURATION2 TO DURATION_2";
Выдает Error message "Invalid use of Keyword. Token: RENAME"
Но RENAME используется в SQL...

гончий
Спасибо! Мне просто хотелось сделать это одной строкой SQL, типа
той что я написал...


гончий   (2003-07-02 08:48:00) [34]

Попробуй компонент TRenameFields из пакета DegisyDb: http://www.degisy.com/download.php?lang=rus
Меняет названия полей для таблиц dBase & Paradox (пакетно).
Очень легко применить в проекте, бесплатный и с исходными текстами :)


Dred2k   (2003-07-01 22:30:00) [35]

Для нужного рабочего эффекта придется переструктурировать таблицу (со всеми вытекающими). bde32.hlp -> dbiDoRestructure. Или использовать запрос с алиасами для имен полей...

Но вот зачем это - вопрос.
Ведь добавляешь, небось, lookup или calculated ?


Страницы:   1 2

Наверх

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