Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение данных в DBgrid 
:(
    Опции темы
newbee
Дата 24.9.2005, 19:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 25.9.2005, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



Была подобная проблема. Я работал с ADO, создавал временную таблицу. В этом случае данные спокойно редактируются. Параллельно с временной вносил изменения в нужную мне таблицу. При закрытии соединения временная таблица удалялась. И все smile
PM MAIL   Вверх
<Spawn>
Дата 26.9.2005, 04:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 2
Всего: 64



Попробуй добавить в селект m.ID это раз.

Цитата
но грид даже не дает вводить данные
- Видимо, что нет данных по такой связке, которую ты прописал в WHERE smile

P.S. сложный запрос - это еще очень простой запрос smile


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0868 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.