Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.28;
Скачать: CL | DM;

Вниз

Динамическое добавление полей в TTable   Найти похожие ветки 

 
Андрей (начинающий)   (2009-05-13 16:04) [0]

Имеется таблица с данными. Как к существующим полям добавить програмно новое? Поискал, нашел только как програмно создать таблицу, а про добавление полей нигде не нашел. Помогите, пожалуйста, ссылкой или объясните здесь, как это делается.


 
Юрий Зотов ©   (2009-05-13 16:24) [1]

Уточните, о чем идет речь - о компоненте TTable или о таблице БД (и какой именно БД)?

Потому что это вещи разные и поля в них добавляются тоже по-разному.


 
Медвежонок Пятачок ©   (2009-05-13 16:41) [2]

Он же сказал, что TTable
:)


 
Андрей (начинающий)   (2009-05-13 16:42) [3]

если можно, то объясните по обоим методам


 
Андрей (начинающий)   (2009-05-13 16:43) [4]


> таблице БД (и какой именно БД)?

Paradox


 
Anatoly Podgoretsky ©   (2009-05-13 16:56) [5]

> Андрей (начинающий)  (13.05.2009 16:43:04)  [4]

Еще одна жертва


 
Медвежонок Пятачок ©   (2009-05-13 16:58) [6]

Удалено модератором


 
Jeer ©   (2009-05-13 16:59) [7]


> Андрей (начинающий)   (13.05.09 16:04)
>
> Имеется таблица с данными. Как к существующим полям добавить
> програмно новое? Поискал, нашел только как програмно создать
> таблицу, а про добавление полей нигде не нашел. Помогите,
>  пожалуйста, ссылкой или объясните здесь, как это делается.
>


Как правило, попытка реструктуризации "на лету" таблицы в базе данных связана с плохим дизайном самой базы.
Существуют "вычисляемые" поля, которые могут добавляться виртуально в TTable.


 
Андрей (начинающий)   (2009-05-13 17:05) [8]


> Jeer ©   (13.05.09 16:59) [7]


> Существуют "вычисляемые" поля, которые могут добавляться
> виртуально в TTable.

Но в саму базу данные из этих вычисляемых полей не занести, я правильно понимаю?
Ими можно пользоваться только во время выполнения программы?


 
sniknik ©   (2009-05-13 17:06) [9]

> если можно, то объясните по обоим методам
если можно то объясни задачу, а не то как ты решил его делать.
т.е. чего пытаешься добиться добавляя эти поля. зачем.


 
Медвежонок Пятачок ©   (2009-05-13 17:11) [10]

Как правило, попытка реструктуризации "на лету" таблицы в базе данных связана с плохим дизайном самой базы.

или с изменяющимися условиями реального мира, который сложнее наших идеальных представлений о правильном дизайне ПО.


 
Андрей (начинающий)   (2009-05-13 17:46) [11]


> sniknik ©   (13.05.09 17:06) [9]

Задача проста :). Имеется таблица с записями в базе данных. Ее надо реструкторизировать (добавить пару полей и внести в эти поля каждой записи значения по-умолчанию). Таблица не слишком большая, около 500 записей.


 
Германн ©   (2009-05-13 17:52) [12]

ALTER TABLE
Читать localsql.hlp


 
MsGuns ©   (2009-05-13 18:43) [13]

>Андрей (начинающий)   (13.05.09 17:46) [11]
>Задача проста :). Имеется таблица с записями в базе данных. Ее надо >
>реструкторизировать (добавить пару полей и внести в эти поля каждой >записи значения по-умолчанию). Таблица не слишком большая, около 500 >записей.

А если прога будет запущена повторно, как тогда ?


 
Германн ©   (2009-05-13 18:51) [14]


> А если прога будет запущена повторно, как тогда ?

if FindField("Имя столбца") then
:)


 
Андрей (начинающий)   (2009-05-13 20:29) [15]


> Германн ©   (13.05.09 17:52) [12]

А без SQL никак?


 
Palladin ©   (2009-05-13 20:35) [16]

без проблем, ADOX поможет тебе если не хочешь изучать SQL DD
единственная сложность доступ к парадоксу через ADO должен быть, но я думаю ты справишься, это ничто в сравнении с SQL DD


 
sniknik ©   (2009-05-13 20:42) [17]

> А без SQL никак?
можно, но SQL все таки проще.

> ADOX поможет тебе
так у него TTable, а значит BDE и BDE32 хелп.


 
Андрей (начинающий)   (2009-05-13 21:01) [18]

пошел читать :)


 
Palladin ©   (2009-05-13 21:52) [19]


> sniknik ©   (13.05.09 20:42) [17]

ну я как бы на правах стеба ))


 
MsGuns ©   (2009-05-13 23:55) [20]

Если я правильно понял, то в сабже речь идет об установке новой версии СУБД (программа + модель БД) на "старые" данные. Если так, то делается это несколько иначе.


 
Германн ©   (2009-05-14 00:32) [21]


> MsGuns ©   (13.05.09 23:55) [20]
>
> Если я правильно понял, то в сабже речь идет об установке
> новой версии СУБД (программа + модель БД) на "старые" данные.
>  Если так, то делается это несколько иначе.
>

Лично я имел в виду именно такую задачу, но одну конкретную (свою). В том случае "делать несколько иначе" было "из пушки по воробьям". Всё-таки о "новой модели БД" в сабже нет речи, имхо. Есть небольшое изменение структуры одной таблицы. Тоже имхо.


 
Anatoly Podgoretsky ©   (2009-05-14 11:48) [22]


> ну я как бы на правах стеба ))

А я на правах стеба отвечу, для Парадокс через АДО никак, придется устанавливать полный БДЕ.


 
sniknik ©   (2009-05-14 12:25) [23]

> для Парадокс через АДО никак
ну вы хотя бы добавляйте, что речь уже о "безSQLных" методах, а то можно понять что вообще никак.

да и с ADOX не уверен, что никак, для "родного" mdb через него же есть возможность менять непосредственно, возможно SQL им и пользуется как "нижним уровнем", а значит для совместимости могли сделать и для исамов (парадокса и д.р.) чтобы ядро SQL независимо от исама работало однотипно.
ну я бы так сделал. в одном месте логика, в другом реализация действий по типу данных.
в общем думаю есть надежда и для ADO :), вот только проверять это или использовать на практике что то не хочется, есть гораздо более простые методы (тот же SQL).


 
Anatoly Podgoretsky ©   (2009-05-14 13:14) [24]

> sniknik  (14.05.2009 12:25:23)  [23]

Вырезка из справки

> Драйвер баз данных Paradox работает в одном из двух режимов, в зависимости от того,
> установлено ядро баз данных Borland Database Engine (BDE) или нет. Данные Paradox обновляются только
> с помощью ядра BDE. Если ядро BDE не используется, данные Paradox можно читать,
> экспортировать или присоединять только для чтения.


 
sniknik ©   (2009-05-14 15:21) [25]

а, вот ты про что, не понял сначала, подумал, что про невозможность сделать через ADO.

да, "самым нижним уровнем" действительно должно быть BDE, должно быть установлено чтобы сработали методы ADOX (да и SQL при обновление структуры в данном случае).



Страницы: 1 вся ветка

Текущий архив: 2009.06.28;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.008 c
3-1223084788
wardoc
2008-10-04 05:46
2009.06.28
Доступ к защищенной БД с помощью компонентов ADO


2-1241679348
worldmen
2009-05-07 10:55
2009.06.28
Создать большое меню


2-1241885395
barbaroska
2009-05-09 20:09
2009.06.28
Обработчик окончания изменения размеров окна..


15-1239906098
Kolan
2009-04-16 22:21
2009.06.28
«Интерфейс пользователя» → Инфоскроллер


2-1242068353
Wind
2009-05-11 22:59
2009.06.28
Сравнить содержимое двух потоков TMemoryStream