Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2009, 18:55   #1
Minotavr_x86
Пользователь
 
Аватар для Minotavr_x86
 
Регистрация: 22.03.2007
Сообщений: 24
По умолчанию Переопределение Update в DBGrid

Доброе время суток.
При редактирование таблицы получаемой запросом
Код:
SELECT * FROM Datchik,Izmerenia WHERE Datchik.id=Izmerenia.id
в DBGrid пишет ошибка Update. Если в запросе только одна таблица, то все нормально.
Как можно написать свой Update для DBGrid'а или есть варианты получше?
Не всё получается так, как придумал,
Но разве за это должно быть стыдно!?!
Minotavr_x86 вне форума Ответить с цитированием
Старый 15.04.2009, 18:17   #2
KAMENYKA
Пользователь
 
Аватар для KAMENYKA
 
Регистрация: 06.12.2007
Сообщений: 87
По умолчанию

Посмотри может проблема в связе между таблицами проверь каскадное обновление(удаление), или проще окноненкчивай ДатаСет!!
Пример:
ADODataSet(ADOQuery).Connection:=ni l;
KAMENYKA вне форума Ответить с цитированием
Старый 15.04.2009, 20:34   #3
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Minotavr_x86, так а как обновляете?
фЁдОр вне форума Ответить с цитированием
Старый 16.04.2009, 18:10   #4
SlavaSH
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 174
По умолчанию

Цитата:
Сообщение от Minotavr_x86 Посмотреть сообщение
Доброе время суток.
При редактирование таблицы получаемой запросом
Код:
SELECT * FROM Datchik,Izmerenia WHERE Datchik.id=Izmerenia.id
в DBGrid пишет ошибка Update. Если в запросе только одна таблица, то все нормально.
Как можно написать свой Update для DBGrid'а или есть варианты получше?
так насколько я знаю если дбгрид строится на основании данных из запроса, то изменять значение в дбгриде можно только если добавите компонент UpdateSql или что-то в этом роде (не помню как точно наз-ся) и настроить там что делать при изменении данных, удалении и вставке. А Вы как делаете?
SlavaSH вне форума Ответить с цитированием
Старый 16.04.2009, 22:46   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

я думаю, что весь затык в том, что субд не может понять какое поле является ключевым (это та же ошибка если модифицировать данные взятые на основе вьюхи, которая в свою очередь строится на объединении данных двух и более таблиц)
soleil@mmc вне форума Ответить с цитированием
Старый 16.04.2009, 23:59   #6
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
По умолчанию

попробуй использовать ClientDataSet, вначале работы заполнишь его из двух таблиц, в работе делай с ним что хочешь, удаляй, меняй, а в конце все изменения раскидай по таблицам. Кажется так проще
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Старый 18.04.2009, 13:10   #7
Minotavr_x86
Пользователь
 
Аватар для Minotavr_x86
 
Регистрация: 22.03.2007
Сообщений: 24
По умолчанию

Всем спасибо.
Проблема решена. В общем все было просто надо было добавит UpdateSQL, но из-за того что раньше я работал с ADO, а там его нет эта проблема и возникла.
Не всё получается так, как придумал,
Но разве за это должно быть стыдно!?!
Minotavr_x86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переопределение события OnClick в динамическом объекте-компоненте CyberJohn Общие вопросы Delphi 8 06.01.2010 15:56
Переопределение конструктора формы daunito Общие вопросы Delphi 5 23.11.2008 01:58
Переопределение операций(сложение,вычитание...) master_root Общие вопросы Delphi 3 18.06.2008 20:20
Переопределение реакции на события ByWatt Общие вопросы Delphi 1 20.12.2007 17:22
Переопределение операций toeman Общие вопросы C/C++ 2 20.11.2007 11:21