Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
1

Как вставить и редактировать запись в таблице ?

08.08.2011, 08:43. Показов 3706. Ответов 11
Метки нет (Все метки)

Есть 2 таблицы:

Group : (GroupID, GroupName, GroupFlag, GroupComment);
Product: (ProductID, ProductName, ProductUnit, GroupID);


GroupID и ProductID - PrimaryKey.
Они связанны логически по полю GroupID.
БД - локальная MsAccess.


Я формирую набор данных TADOQuery из 2-х таблиц и показываю этот набор на
форме в виде отсортированного по полю GroupName грида.
Теперь мне надо вставить новую или отредактировать существующую запись.


Как это сделать чтобы процесс вставки или редактирования отобразился на
экране, ведь Query не поддерживает вставку и редактирование если он сформирован
из 2-х и более таблиц ?


Вставить или отредактировать запись в табл. Product.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2011, 08:43
Ответы с готовыми решениями:

Adoquery: вставить новую запись в таблице между существующими
Доброго времени суток! Проблема такая: вставляю новую запись в таблице таким образом ...

Как редактировать данные в таблице html
Я делаю изменяемое расписание для сайта. Вообщем запись уроков я сделал, осталась малость - это...

Как изменить (редактировать) фотографию в таблице ?
Здравствуйте,как изменить изображение в таблице вот представление model...

Как редактировать данные в таблице созданной запросом?
Нужно редактировать данные прямо таблице созданной запросом. Как это можно сделать?

11
21 / 21 / 2
Регистрация: 10.11.2009
Сообщений: 67
08.08.2011, 09:32 2
Вставлять и редактировать надо не в query, а в ваших таблицах

вставка
Вставляешь запись в таблицу Group
SQL
1
2
INSERT INTO GROUP (GroupName, GroupFlag, GroupComment) VALUES
 (GroupName1, GroupFlag1, GroupComment1)
Дальше смотришь id вставленной записи-GroupID1

Вставляешь запись в таблицу Product с GroupID1
SQL
1
2
INSERT INTO Product (ProductName, ProductUnit, GroupID) VALUES
 (ProductName1, ProductUnit1, GroupID1)
Такой же принцип используешь при обновлении записей
1
148 / 148 / 3
Регистрация: 05.05.2010
Сообщений: 569
08.08.2011, 11:21 3
Вставку/редактирование проводить не в гриде, а в отдельном детальном окне записи.
1
1155 / 1014 / 165
Регистрация: 04.04.2011
Сообщений: 3,552
08.08.2011, 14:58 4
UpdateSQL и каталку на всяк случай
0
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
08.08.2011, 16:09  [ТС] 5
Цитата Сообщение от эля1 Посмотреть сообщение
Вставлять и редактировать надо не в query, а в ваших таблицах
...
Это понятно. Но мне хотелось бы использовать компоненты DB, т.е. DBEdit, DBComboBox и пр.
А они напрямую связываются с DataSource.

Как быть в этом случае ?

Добавлено через 1 минуту
Цитата Сообщение от harmless Посмотреть сообщение
Вставку/редактирование проводить не в гриде, а в отдельном детальном окне записи.
А в этом окне какие обычно Вы используете компоненты ? - DBEdit, DBComboBox, ... ???
0
21 / 21 / 2
Регистрация: 10.11.2009
Сообщений: 67
08.08.2011, 16:24 6
Цитата Сообщение от NewZ Посмотреть сообщение
мне хотелось бы использовать компоненты DB, т.е. DBEdit, DBComboBox и пр.
А они напрямую связываются с DataSource.

Как быть в этом случае ?
Используйте эти компоненты для просмотра записи

При редактировании/вставки я использую отдельные поля типа edit,combobox, Valuelisteditor..., но не DB-поля
1
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
08.08.2011, 17:23  [ТС] 7
Цитата Сообщение от эля1 Посмотреть сообщение
Используйте эти компоненты для просмотра записи.
При редактировании/вставки я использую отдельные поля типа edit,combobox, Valuelisteditor..., но не DB-поля
Но тогда необходимо писать код, который на событие "Редактировать" будет
извлекать данные из DataSet'а и подставлять в эти TEdit, TComboBox, ...

Вы так делаете ?

ЗЫ. Хотелось бы узнать варианты, те. как это делается, нормальная ли это практика ???
0
21 / 21 / 2
Регистрация: 10.11.2009
Сообщений: 67
08.08.2011, 20:11 8
Я просто я поля присваиваю значения из набора данных. Начни делать проект и все получится по ходу
1
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
08.08.2011, 21:25  [ТС] 9
Цитата Сообщение от эля1 Посмотреть сообщение
Я просто я поля присваиваю значения из набора данных. Начни делать проект и все получится по ходу
У меня сейчас начинается большой проект, связанный с БД FireBird.
Вот я и думаю: Как лучше всего реализовать ввод и редактирование данных, а
также навигацию.

Использовать DB компоненты или обойтись стандартными ?

Как бы Вы поступили на моем месте ?
0
21 / 21 / 2
Регистрация: 10.11.2009
Сообщений: 67
08.08.2011, 22:03 10
для вывода записи в таблицу я использую dbgrid (а лучше dbgrideh), в поля- dbedit, а остальное походу проекта. Все зависит от хода мысли разработчика. dbcombobox я так и не поняла как использовать, поэтому использовала обычный combobox.
Навигация DBNavigator.

А для редактирования я использую отдельную форму или вкладку с обычными полями.
Не в дбгриде не в других дб компонентах я не редактирую.

Добавлено через 9 минут
есть книга Шпак Ю. А. на примерах. Посмотри часть 2 в книги. Правда там interbase? но тебе для понимания тоже подойдет. Там и sql язык расписан и показан доступ к sql - серварам из приложения delphi.
Вместо interbase можно FireBird. Вроде тоже самое.
Как подготавливается форма для редактирования поймешь. Только событие при сохранинии редактирования не правильно.

И после этого спокойно можешь делать свой проект. Только я бы использовала компоненты ibquery. Про компонент ibtable забудь
1
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
08.08.2011, 22:26  [ТС] 11
Цитата Сообщение от эля1 Посмотреть сообщение
И после этого спокойно можешь делать свой проект. Только я бы использовала компоненты ibquery. Про компонент ibtable забудь
Эля, спасибо огромное за советы. Не знаю что бы я без тебя делал !!!
Если я тоже смогу тебе чем-нибудь помочь - я с удовольсвием помогу ))


With best wishes, Leonid.
0
1262 / 705 / 62
Регистрация: 21.12.2009
Сообщений: 2,255
09.08.2011, 06:53 12
Цитата Сообщение от NewZ Посмотреть сообщение
У меня сейчас начинается большой проект, связанный с БД FireBird.
Вот я и думаю: Как лучше всего реализовать ввод и редактирование данных, а
Если будете работать с проектом, связанным с FireBird, то никакие ADO Вам не нужны. Присмотритесь к линейке компонент FIBPlus. По моему, так для этой СУБД ничего лучше и не надо. Проблема в том, что это платный инструмент. Альтернатива, по моему, только одна: линейка компонент Interbase (встроена в дельфи). Эта линейка менее функциональна, чем FIBPlus и, по моим наблюдениям, в развитии своей функциональности отстает от возможностей последних веосий сервера.
ЗЫ. Последнее наблюдение может быть не точным, т.к. я у себя линейку Interbase давно не обновлял!

Добавлено через 56 секунд
Цитата Сообщение от NewZ Посмотреть сообщение
У меня сейчас начинается большой проект, связанный с БД FireBird.
Вот я и думаю: Как лучше всего реализовать ввод и редактирование данных, а
Если будете работать с проектом, связанным с FireBird, то никакие ADO Вам не нужны. Присмотритесь к линейке компонент FIBPlus. По моему, так для этой СУБД ничего лучше и не надо. Проблема в том, что это платный инструмент. Альтернатива, по моему, только одна: линейка компонент Interbase (встроена в дельфи). Эта линейка менее функциональна, чем FIBPlus и, по моим наблюдениям, в развитии своей функциональности отстает от возможностей последних версий сервера.
ЗЫ. Последнее наблюдение может быть не точным, т.к. я у себя линейку Interbase давно не обновлял!
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2011, 06:53

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

TDbf 7.0 Как редактировать запись?
Мануал передо мной. Смотрю в книгу-мануал вижу ( Как редактировать запись в БД? Использую TDbf...

Как редактировать/удалять запись в списке RecyclerView
Всем привет Подскажите как редактировать данные которые уже на экране в списке RecyclerView ? ...

Как создать запись в главной таблице и связанную запись в подчинённой?
Логика: - нажимаю кнопку на форме "00_00_ФОРМА_ОСН"; - открывается форма "01_01_ПроектыСтлб"; -...

Как в бинарном файле (.dat) удалять и редактировать выбранную запись
Подскажите как в бинарном файле(.dat) удалять и редактировать выбранную запись(case 5 и case 6): ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.