![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как переименовать поле в физической базе прогаммным путем? [D7, dBase, FoxPro]
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 ?