Имя: Пароль:
IT
 
Delphi. Изменение структуры таблицы.
, ,
0 megabax
 
19.03.18
22:24
Добрый день. Выполняю в Delphi такой код
procedure TfrmMain.btnAddClick(Sender: TObject);
var index:integer;
begin
  index:=lbTables.ItemIndex;
  if index<>-1 then
  begin
    Table.Edit();
    Table.FieldDefs.Add('ValveResistance', ftFloat);
    Table.Post();
    Table.Close();
  end
end;
Но почему то структура таблица не меняется. подскажите, пожалуйста, как лечить?
1 Кирпич
 
19.03.18
22:48
От тебя мотает от питона до сишарп и до дельфи уже докатился
2 Кирпич
 
19.03.18
22:49
Закрой таблицу, изменяй с помощью SQL, закрой таблицу.
3 H A D G E H O G s
 
19.03.18
22:57
(2) хехе
Как бы там не paradox через dd открывать не пришлось.
4 H A D G E H O G s
 
19.03.18
22:58
Эхх, молодость
5 Garykom
 
гуру
19.03.18
23:52
(0) Никак, это не баг это фича.

CreateTable позволяет создать новую таблицу с нужными полями.
Для уже имеющейся структуры максимум вроде можно индексы через TTable добавлять.
6 megabax
 
20.03.18
09:02
(5) Э.... реструктуризация что-ли невозможна программно? Надо PARADOX ставить?
7 megabax
 
20.03.18
09:03
(1) "и до дельфи уже докатился" - докатился, да, если тема моей кандидатской диссертации это доработать прогу, которая уже на делфях написана.
8 Separator
 
20.03.18
09:12
(7) Попробуй командой SQL
9 Кирпич
 
20.03.18
09:13
(7) Кандидатской? Ужос.
http://www.cyberforum.ru/delphi-database/thread15409.html
10 Dotoshin
 
20.03.18
09:21
(7) А как тема называется, если не секрет?
11 Кирпич
 
20.03.18
09:24
(10) что то гуманитарное скорее всего.
12 Время
 
20.03.18
09:26
(7) Используется SQL или реляционная БД?
13 Время
 
20.03.18
09:28
(7) Дельфи (в данном случае) - это авто без водителя. Структура БД (добавление, удаление полей) осуществляется только с помощью СУБД. Дельфи не умеет, да, и не должно этого уметь.
14 megabax
 
20.03.18
09:56
(10) Оптимизация термогидравлических режимов зданий с помощью эвристических алгоритмов.
15 megabax
 
20.03.18
09:56
(12) Файловая БД Парадокс
16 Сияющий в темноте
 
20.03.18
10:02
Чтобы в ней что то поменять,нужно BDE ставить,иначе не выйдет,т.к. парадокс без нее не работает
а потом меняй,что хочешь
17 H A D G E H O G s
 
20.03.18
12:25
(15) Бинго!
18 H A D G E H O G s
 
20.03.18
12:25
(15) Открываем dd, добавляем колонку, закрываем dd, открываем Дельфи.
19 H A D G E H O G s
 
20.03.18
12:26
Вот такие у нас кандидаты.
20 Кирпич
 
20.03.18
12:32
(15) нахрена тебе этот Пардокс? Совсем сдурел чтоли. Бери любую СУБД и делай что хочешь.
21 Кирпич
 
20.03.18
12:35
(15)Ты там не на windows 95 и Delphi 2.0 работаешь?
22 Nyoko
 
20.03.18
12:49
(0) зачем тебе дельфи есть fpc. Если используешь stringgrid то можно добавлять в таблицу, если dbgrid с источником данных то добавлять нужно в источник данных. ;)
23 H A D G E H O G s
 
20.03.18
13:06
(21) ObjectPascal - только пздц, только хардкорр.
24 Время
 
20.03.18
13:07
(19) Не-е-е... Вот такая у нас ... наука :(
25 Garykom
 
гуру
20.03.18
18:53
(19) Самое интересное откуда он формулы передрал... С методикой...
26 Вафель
 
20.03.18
18:55
А почему решили что парадокс?
27 Garykom
 
гуру
20.03.18
18:55
(23) Давным давно есть Lazarus с готовым http://wiki.freepascal.org/SQLite
28 Вафель
 
20.03.18
18:55
А все вижу
29 Garykom
 
гуру
20.03.18
18:56
(27)+ Но нет ..ля, мы будет крякнутую Delphi юзать. нарабатывать себе срок до 6 лет!
30 Вафель
 
20.03.18
18:56
(27) ты предлагешь первым делом переписать весь легаси код?
31 Garykom
 
гуру
20.03.18
18:57
(30) Его не надо переписывать - он тупо копипастится... Или импортируется в лазарус из дельфи.
32 Garykom
 
гуру
20.03.18
18:58
(31)+ Если конечно "легаси" это "формулы/алгоритмы" а не "работа с бд"
33 Вафель
 
20.03.18
18:59
(32) легаси это в том числе и работа с бд
Сдается мне что ты ни в одном коммерческом проекте не на 1с не участвовал
34 Провинциальный 1сник
 
20.03.18
19:04
(20) Ха. Например у ib/fb есть счетчик изменения метаданных таблицы, который 1-байтный, и вам дается 255 попыток, а далее придется или создавать новую таблицу с переносом данных, или всю базу бэкапить-ресторить..
35 Garykom
 
гуру
20.03.18
19:22
(33) В коммерческих как раз участвовал, вот в "кандидатских работах", которые на уровне школьных/студенческих работ нет.

Не забываем цель "коммерческого проекта" - заработать денег.
Денежку за старый код плохо платют, намного лучше "все нафик переписать". И сотрудники дурью не маются и с заказчика легко больше слупить.
36 ShAV
 
20.03.18
19:28
37 Garykom
 
гуру
20.03.18
19:40
(36) Упал? "легаси кода" в ней (10.2 Tokyo) не запустится ))
38 Кирпич
 
20.03.18
22:33
(36) на этом дерьмище только hello world можно писать.
39 Провинциальный 1сник
 
21.03.18
09:26
А еще была бесплатная для некоммерческого использования Turbo Delphi Explorer
40 Сияющий в темноте
 
21.03.18
10:54
(35) в коммерческом проекте еще и чужой код стараются не использовать,чтобы претензий поменьше было,так что переписывается все до основания,а вот в поделках как раз все и остается из за лени и нежелания вникать в код
41 Garykom
 
гуру
21.03.18
11:06
(40) Чужой код могут и прикупить лицензию, если это сокращает затраты на разработку.