Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/42: Рейтинг темы: голосов - 42, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38

Программное добавление столбца в таблицу

17.12.2009, 13:32. Показов 8700. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На форуме уже рассмотрена тема программного создания таблицы:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm5.Button1Click(Sender: TObject);
begin
Table1.Active:=false;
Table1.DatabaseName:='C:\MyDatabase';
Table1.TableName:=Form2.Edit25.Text;
Table1.TableType:=ttParadox;
 
Table1.FieldDefs.Clear;
 
Table1.FieldDefs.Add('Naimenovanie',ftString,40,Tr ue);
Table1.FieldDefs.Add('Vsego',ftInteger,0,False);
Table1.FieldDefs.Add('Pens',ftInteger,0,False);
Table1.FieldDefs.Add('OdinPens',ftInteger,0,False) ;
Table1.FieldDefs.Add('Inval',ftInteger,0,False);
Table1.FieldDefs.Add('OdinInval',ftInteger,0,False );
Table1.FieldDefs.Add('SemInval',ftInteger,0,False) ;
Table1.FieldDefs.Add('SemPens',ftInteger,0,False);
 
Table1.CreateTable;
 
Table1.Active:=true;
end;
Но что делать в том случае, если таблица уже создана, и необходимо задать имя поля, программно добавив ее в имеющуюся таблицу?

Код программы:

Delphi
1
2
3
form3.Table1.Active:=false;
  form3.Table1.FieldDefs.Add('Naimenovanie',ftString,40,True);
  form3.Table1.Active:=true;
При выполнении приведенного кода, выводится следующая ошибка:

Undeclared identifier: 'ftString'.


Если вместо «,» добавить «;»:
form3.Table1.FieldDefs.Add('Naimenovanie ';ftString;40;True);

то выдается следующее:

[Error] Unit7god.pas(55): Not enough actual parameters
[Error] Unit7god.pas(55): Statement expected, but expression of type 'Integer' found.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.12.2009, 13:32
Ответы с готовыми решениями:

Программное добавление столбцов в таблицу БД
Есть две таблицы в БД: "Свойства" и "Функции". Необходимо между ними установить соответствие. Лучше всего, на мой взгляд, это сделать...

Добавление столбца в таблицу
Необходимо добавить столбец nalich в таблицу Sklad, если он не существует. При запуске выдаёт ошибку: "ошибочная конструкция SQL;...

Добавление нового столбца в таблицу БД
ну вообщем ситуация такая: есть база данных на интербэйзе и прога для нее написанная на дельфях....все работает нормально...но возникает...

39
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
21.12.2009, 20:37  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от _victor Посмотреть сообщение
эм...20-30 записей? много?
во всяком случае, не наглядно
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.12.2009, 22:58
said, ну тогда действительно проще ввести поле с датой операции
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 01:24  [ТС]
Тогда, получается, мы возвращаемся к началу разговора?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 01:29
said, почему к началу, просто тебе надо пересоздать таблицу с доп. полем или уже есть данные?
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 18:38  [ТС]
Куда добавить дополнительное поле? Каждый новый год - это поле



Или я не совсем Вас понял....
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 20:43
said, нет, ты не понял... тебе надо завести поле, в котором будет указано - какой год или дата, ну или как у тебя там в поставновке задачи... тебе твоей таблицы на пару миллионов лет хватит, чтобы работало без тормозов)))
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 20:49  [ТС]
Так, так ))))
я все равно не понял в чем идея.
Там, в таблице, видишь, само поле - это год. И в этом поле внесены все значения. Если следующий год добавить, то тоже самое получается, что я и в самом начале спрашивал.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 20:55
said,ну так зачем плодить тучу полей, если можно завести поле - год, в нем будет указано за какой год данные в других полях этой записи
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 21:06  [ТС]
а название других полей?? я об этом уже думал. если и год и другие экономические показатели вносить в полях, то ненаглядно выходит
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 21:09
said, у тебя экономические показатели одни и те же?
0
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 21:11  [ТС]
нет конечно. в том-то и дело. пока только 3 таблицы. в каждой по 20-30 показателей
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 21:14
said, 20-30 показателей экономических? слушай, озвучь задание все более-менее внятно, тогда мне проще будет придумать более-менее оптимальное решение, пока я не понимаю ТЗ - сижу и просто угадываю... хотя бы вкратце растолкуй, что, зачем и почему
0
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 21:48  [ТС]
хорошо.мин 15

Добавлено через 32 минуты
Разработка программного обеспечения для анализа и планирования использования ресурсов предприятия.

Вот формулировка задачи. Все остальное приходится придумывать самому.

Получаем у предприятия за отчетный период его показатели.

По основным фондам:
1. Стоимость ОПФ на конец периода
2. Коэффициент поступления ОПФ
3. Коэффициент ввода в эксплуатацию ОПФ
4. Коэффициент обновления ОПФ
5. Коэффициент выбытия ОПФ
6. Срок обновления ОПФ
7. Коэффициент прироста
8. Темп прироста стоимости ОПФ
9. Коэффициент годности
10. Коэффициент износа
11. Фондоотдача
12. Фондоемкость
13. Фондовооруженность
14. Рентабельность ОФ

По оборотным активам:
1. Коэффициент оборачиваемости оборотных активов
2. Скорость оборота в днях
3. Коэффициент закрепления оборотных активов
4. Общий норматив оборотных средств
5. Норматив производственных запасов
6. Норма запаса в днях по отдельному виду оборотных средств
7. Размер оборотных средств для незавершенного производства
8. Коэффициент нарастания затрат при равномерном нарастании затрат
9. Коэффициент нарастания затрат при неравномерном нарастании затрат
10. Величина оборотных средств, вложенных в запасы готовой продукции на складе
11. Длительность хранения продукции на складе
12. Материалоемкость
13. Материалоотдача
14. Обеспеченность предприятия запасами в днях
15. Средний дневной расход каждого вида материалов
16. Коэффициент использования материалов
17. Влияние материальных ресурсов на объем производства продукции
18. Норму расхода материала
19. Общий производственный запас материалов
20. Средний запас материалов в сутки
21. Рентабельность оборотных активов

По трудовым ресурсам:
1. Трудоемкость
2. Выработка
3. Коэффициент календарного использования ОФ
4. Коэффициент целосменного использования
5. Коэффициент внутрисменного использования
6. Коэффициент использования машинного времени
7. Коэффициент экстенсивной нагрузки
8. Коэффициент интенсивной нагрузки
9. Коэффициент интегральной нагрузки
10. Среднесписочная численность промышленно-производственного персонала;
11. Коэффициент интенсивности оборота по приему;
12. Коэффициент оборота по выбытию;
13. Коэффициент текучести;
14. Коэффициент замещения;
15. Коэффициент постоянства кадров;
16. Полная фактическая продолжительность рабочего дня;
17. Фактическая урочная средняя продолжительность рабочего дня;
18. Режимная продолжительность рабочего дня;
19. Среднее число дней работы одного рабочего;
20. Среднее число часов работы одного среднесписочного рабочего;
21. Средняя продолжительность рабочего дня (смены);
22. Средняя часовая выработка на одного списочного рабочего;
23. Средняя дневная выработка на одного списочного рабочего;
24. Средняя годовая выработка на одного списочного рабочего;
25. Численность работников, приходящихся на единицу произведенного продукта.
26. Заработная плата за один час работы;
27. Прирост фонда заработной платы, связанный с темпами прироста выпуска продукции;
28. Фонд заработной платы.

Используя эти показатели необходимо проанализировать:
1. состояние предприятия на сегодняшний день
2. спрогнозировать состояние отдельно взятого показателя
3. выводить отчеты по текущему году (по всем показателям, отдельно для каждого вида ресурса (основных фондов, оборотных активов… )), а также за выбранный период (например: 2005-2008, либо 1996-2003. ну и прочие). Строить диаграммы для определенного показателя и прочее…
4. Планирование производства (симплекс-метод). Этот пункт выполнил. Однако, возникает еще одна проблема – связывание с вышеприведенными таблицами

Таблицы уже составлены. Парадоксовские. В дельфи использую BDE. Первое поле – «Наименование». В записях этого поля внесены названия вышеприведенных показателей. Следующее поле – «2005», который соответствует 2005 году. В записях этого поля – значения, соответствующие названиям показателей, внесенных в поле «Наименование».
Вот как быть дальше?....
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 22:00
said, для твоей задачи надо три поля - название показатель, значение, период - все...
0
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 22:08  [ТС]
В поле "период" что указывать в записях?

Добавлено через 2 минуты
Может я что-то не допонимаю. Пользователь сам должен вносить значения. как следующий перион он будет добавлять?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 22:23
said, элементарно, ему вообще даже не надо париться по поводу периода, ты же легко сам можешь вычислять, какой год стоит на машине
0
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 22:31  [ТС]
Кажется мы не понимаем друг друга.
Как он тогда предыдущие года занесет?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.12.2009, 22:35
said, ну дай ему возможность заносить дату, если не хочет, значит в текущий год, в чем проблема-то?
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
22.12.2009, 22:36  [ТС]
Ладно. Подумаю. Спасибо
0
1 / 1 / 1
Регистрация: 22.03.2016
Сообщений: 19
10.02.2022, 16:11
А как добавить поле с типом integer?
Запрос выдаёт сообщение "ошибка синтаксиса при определении поля". Хотя в access это поле отлично добавляется.
SQL
1
ALTER TABLE old_table  ADD COLUMN new_field INTEGER
Добавлено через 21 минуту
Всё, разобрался. Прошу удалить моё сообщение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.02.2022, 16:11
Помогаю со студенческими работами здесь

Добавление нового столбца в таблицу
Adoquery1.close; Adoquery1.sql; Adoquery1.sql.add(alter table KTZ add column'+quotedstr(edit1.text)+'string'); Adoquery1.execsql; ...

Программное добавление столбца в таблицу
Возможно ли с помощью программного кода добавить столбец в таблицу?Если возможно, то как?

Добавление столбца в таблицу БД
Доброе утро. Подскажите пожалуйста как программно добавить столбец в таблицу БД? katalogPlanDataSet.Oborud2.Columns.Add(); Так не...

Запрос на добавление столбца в таблицу
вот такой запрос нужно сделать,по поводу добавления строки я разобрался а вот столбец никак не могу вывести,подскажите как

Добавление нового столбца в таблицу БД
Есть БД Access 2007. Никак не могу найти добавления нового столбца в таблицу,т.е при нажатии на кнопочку можно было задать имя столбца и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru