Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

что писать в UpdateSQL?


andreik ©   (2002-03-06 11:28:00) 

Что надо написать в UpdateSQL, чтобы можно было радактировать в DBGrid-е записи, выбранные из 2-х таблиц SQL-запросом?


Alexandr   (2002-03-06 13:18:00) [1]

угу.
Но это не все.
не забудь еще вот так написать
Это для записи изменений в базу.
Этот код можешь вставить в OnAfterPost для Query, или не отдельную кнопку зацепить


dataModule2.Database.StartTransaction;
try
dataModule2.Query.ApplyUpdates; {try to write the updates to the DB};
dataModule2.DataBase.Commit; {on success, commit the changes};
except
dataModule2.DataBase.Rollback; {on failure, undo the changes};
raise;
end;
datamodule2.Query.CommitUpdates; {on success, clear the cache}


andreik   (2002-03-06 13:14:00) [2]

Заработало! Большое спасибо!


Alexandr   (2002-03-06 13:11:00) [3]

Tquery.cachedUpdates:=true


andreik   (2002-03-06 13:06:00) [4]

таблица доступна только для просмотра


Alexandr   (2002-03-06 13:04:00) [5]

как это не работает.

P.S. Меня скоро достанет из тебя по слову вытягивать...


andreik   (2002-03-06 12:54:00) [6]

такой же пример прочитал в книжке, но так почему-то не работает


Alexandr   (2002-03-06 12:48:00) [7]

так и не написал, какую тебе таблицу обновлять надо...
если обновлять vopros тогда

update "C:\Golos\vopros.dbf"
set l_s=:l_s,n_vopr=:n_vopr,vopr=:vopr,result=:result
where l_s=:old_l_s and n_vopr=:old_n_vopr and vopr=:old_vopr and result=:old_result

для otvet аналогично


andreik   (2002-03-06 12:31:00) [8]

сервера нет, только BDE


andreik   (2002-03-06 12:29:00) [9]

Таблица Vopros
L_S : string;
N_vopr : float;
vopr : string;
result : float;

Таблица otvet
N_O : float;
OTV : string;

SELECT *
FROM
"C:\Golos\vopros.dbf",
"C:\Golos\otvet.dbf"
WHERE
"C:\Golos\vopros.dbf".result = "C:\Golos\otvet.dbf".n_o


Reindeer Moss Eater   (2002-03-06 12:28:00) [10]

Хватит и одного UpdateSQL.
А что за сервер-то?


Alexandr   (2002-03-06 12:16:00) [11]

для какой еще мебели?

Приведи описание этой таблицы( которую обновлять надо, а не для мебели) и свой select


andreik   (2002-03-06 12:13:00) [12]

менять надо 1 таблицу (вторая для мебели) Пользуюсь Query - DataSource - DBGridEh


Alexandr   (2002-03-06 11:51:00) [13]

это понятно.
А если тете обе таблицы изменять нужно, то надо 2 UpdateSQL а это уже смотря какими компонентами пользуешься...


andreik   (2002-03-06 11:39:00) [14]

Как обновлять? - просто чтобы можно было отредактироать запись и сохранить изменения


Reindeer Moss Eater   (2002-03-06 11:35:00) [15]

Многие SQL сервера разрешают обновлять просмотры построенные на объединении двух таблиц, если нет агрегатов и имена полей уникальны.


Alexandr   (2002-03-06 11:32:00) [16]

update....
смотря как надо обновлять таблицы после редактирования


Наверх

Титульная страница Поиск, карта сайта Написать письмо