![]() |
|
|
![]()
|
|
| newbee |
|
|||
|
Unregistered |
Здравствуйте, мне необходимо изменять данные в DBgrid, основой которого является сложный запрос (данные из 4 таблиц, менять надо данные из двух таблиц).
Я перелопатил кучу инфы, но Grid отказывается менять даже данные из одной таблицы. Пробовал RequestLive:=true / CachedUpdates:=true; Привязывал UpdateSQL к Query. Вот мой запрос для вывода данных в DBGrid query1.sql.Add('Select m.number, t.name, m.plus, m.minus, (m.plus+m.minus)*t.procent as Sum'); query1.sql.Add('from money m, typeav t, itemav i ,site s'); query1.sql.Add('where (m.number=i.number)'); query1.sql.Add('and (i.typeid=t.id)'); query1.sql.Add('and (m.salID = s.id)'); query1.sql.Add('and (m.curdate="'+ DateToStr(datetimepicker1.date)+'")'); query1.sql.Add('and (s.name="'+ combobox1.text +'")'); В Modify Updatesql сгенерировано update money set Plus = :Plus, Minus = :Minus where Id = :OLD_Id И процедура procedure TForm1.Query1UpdateRecord(DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction); begin UpdateSQL1.Apply(ukModify); end; PS Пробовал onkeypress в grid делать что-то типа if Key = #13 then //The enter key! begin if Query1.State = dsEdit then begin Query1.Post; end; end; но грид даже не дает вводить данные. |
|||
|
||||
| Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Была подобная проблема. Я работал с ADO, создавал временную таблицу. В этом случае данные спокойно редактируются. Параллельно с временной вносил изменения в нужную мне таблицу. При закрытии соединения временная таблица удалялась. И все
|
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 2 Всего: 64 |
Попробуй добавить в селект m.ID это раз.
P.S. сложный запрос - это еще очень простой запрос -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |