![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.12.2009
Сообщений: 95
|
![]()
у меня есть таблица в mysql, соединяюсь из delphi компонентом mydac
![]() так вот есть несколько dbgrid, данные из таблицы базы поступают в них sql запросами. Проблема в том как реализовать редактирование. Если бы я выводил всю таблицу, то никаких проблем dbedit и post как реализовать в данном случае, могу только представить - по щелчку на строку, эта запись должна найтись в таблице - и отобразиться в dbedit. конечно можно обойтись наверное и без вывода в дбгрид запросом, но тогда придется одинаковых таблиц множить целую кучу, и как то связывать их. Может быть кто-нибудь сталкивался с подобным? |
![]() |
![]() |
![]() |
#2 |
Homo Interneticus
Форумчанин
Регистрация: 04.03.2011
Сообщений: 611
|
![]()
Не пользовался mydac, но по сути Вам нужны "живые запросы", если компонент поддерживает подобную возможность (может быть есть свойство или опция LiveQuery или что-то типа того), то можете использовать. Но для работы "живых запросов" в выборке должно быть достаточно ключевых полей. Да и сама реализация "живых запросов" именно так как Вы предполагаете и делается - запросами. Так что если нельзя выборки связанные с DbGrid-ами сделать "живыми" то тогда только самостоятельно писать запросы на редактирование записей. Это все без привязки к mySQL. Возможно там можно триггеры написать какие-то, не знаю, не работал...
|
![]() |
![]() |
![]() |
#3 | |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]() Цитата:
Если правильно понимаю, то MyDAC должен использовать ту же систему, что и ODAC, поскольку написан на том же DAC-движке. В нем обычно бывает "ручная" и "продвинутая" версии -- TxxQuery и TxxSmartQuery. В ручной версии нужно UpdateSQL и DeleteSQL нужно писать вручную, а в smart-версии достаточно указать KeyFields, и компонент сгенерит соответствующие UpdateSQL сам.
В разработке: воспроизводственный контур ИТ
|
|
![]() |
![]() |
![]() |
#4 | ||
Пользователь
Регистрация: 26.12.2009
Сообщений: 95
|
![]() Цитата:
Ручной вариант получился по образцу, прикрепил. в принципе keyfields тоже попробовал - быстрее. Но! печаль в том что все записи должны быть уникальны, потому что если в дбгриде есть 2 одинаковые строки - то выскочит ошибка Цитата:
Можно про это поподробней? с примером Идея! Если создать в базе id2 например, и сделать его автозаполнение, то если в keyfields засунуть id 2 - проблема решиться? все остальные поля в строках могут быть одинаковыми Последний раз редактировалось Stilet; 09.07.2013 в 17:07. |
||
![]() |
![]() |
![]() |
#5 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
И правильно, ибо нефиг. Возможных причин две:
По поводу редактирования и диалогов:
Код:
Код:
В разработке: воспроизводственный контур ИТ
Последний раз редактировалось Vapaamies; 09.07.2013 в 17:38. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с редактированием записи таблицы. | p.majorov | БД в Delphi | 4 | 15.11.2010 13:25 |
Большая проблема в 300Gb :( | ProIgor | Операционные системы общие вопросы | 3 | 18.09.2009 20:17 |
Большая проблема | BlackOmen | Работа с сетью в Delphi | 2 | 16.03.2008 19:02 |