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

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

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

Студворк — интернет-сервис помощи студентам
Есть 2 таблицы:

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


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


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


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


Вставить или отредактировать запись в табл. Product.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.08.2011, 08:43
Ответы с готовыми решениями:

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

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

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

11
 Аватар для эля1
21 / 21 / 2
Регистрация: 10.11.2009
Сообщений: 66
08.08.2011, 09:32
Вставлять и редактировать надо не в 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
151 / 151 / 3
Регистрация: 05.05.2010
Сообщений: 570
08.08.2011, 11:21
Вставку/редактирование проводить не в гриде, а в отдельном детальном окне записи.
1
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
08.08.2011, 14:58
UpdateSQL и каталку на всяк случай
0
 Аватар для NewZ
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
08.08.2011, 16:09  [ТС]
Цитата Сообщение от эля1 Посмотреть сообщение
Вставлять и редактировать надо не в query, а в ваших таблицах
...
Это понятно. Но мне хотелось бы использовать компоненты DB, т.е. DBEdit, DBComboBox и пр.
А они напрямую связываются с DataSource.

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

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

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

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

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

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

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

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

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

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

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


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

Добавлено через 56 секунд
Цитата Сообщение от NewZ Посмотреть сообщение
У меня сейчас начинается большой проект, связанный с БД FireBird.
Вот я и думаю: Как лучше всего реализовать ввод и редактирование данных, а
Если будете работать с проектом, связанным с FireBird, то никакие ADO Вам не нужны. Присмотритесь к линейке компонент FIBPlus. По моему, так для этой СУБД ничего лучше и не надо. Проблема в том, что это платный инструмент. Альтернатива, по моему, только одна: линейка компонент Interbase (встроена в дельфи). Эта линейка менее функциональна, чем FIBPlus и, по моим наблюдениям, в развитии своей функциональности отстает от возможностей последних версий сервера.
ЗЫ. Последнее наблюдение может быть не точным, т.к. я у себя линейку Interbase давно не обновлял!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.08.2011, 06:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru