![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi7 ADO MSSQL2k [D7, MSSQL]
vani © (2007-02-19 13:50:00)Накопавшись целый день в тырнете и не найдя ответа, решился таки попросить у всемогучего великого разума помощи в решении на первый взгляд непростой задачки...
Дано:
-------------------------------------------
DBGrid ADOQuery1 Server KeySet Cursor
Запрос вида SELECT * FROM dbo.view
view вида:
SELECT a.abonent_id, a.name, s.name
FROM abonent a
INNER JOIN street s ON a.street_id = s.street_id
1. делаю ADOQuery1.Open;
2. делаю ADOQuery2.ExecSQL (UPDATE abonent SET name = xxxxx WHERE abonent_id = y)
3. делаю ADOQuery1.Refresh;
Все отлично. Значение поля a.name меняется в DBGrid, курсор работает.
Задача:
-------------------------------------------
1. делаю ADOQuery1.Open;
2. делаю ADOQuery2.ExecSQL (UPDATE abonent SET street_id = x WHERE abonent_id = y)
3. делаю ADOQuery1.Refresh;
Все плохо. Имеем старый s.name : (
Вопрос:
-------------------------------------------
Может кто сталкивался с обновлением полей join таблиц в _серверном_ курсоре?
С resync наигрался. Не помогает.
unique table client side, requery, close, open, active/false/true не подходят для данной задачи.
Спасибо всем откликнувшимся.
vani (2007-03-01 15:43:00) [1]тю...
ну это-то точно не при чем :)
alex888 (2007-02-27 13:06:00) [2]Может поможет
UPDATE STATISTICS ?
vani (2007-02-23 13:44:00) [3]Механизм доступа к сожалению не поменять (многое чего придётся поменять)... : (
Явное указание начала/подтверждения транзакции при update тоже не помогла... : (
fd979 (2007-02-20 12:39:00) [4]BEGIN TRANSACTION
...
COMMIT TRANSACTION
Fay (2007-02-20 02:35:00) [5]используй AnyDAC, забудь печаль
vani (2007-02-19 15:36:00) [6]хм... а как мне поможет триггер на вьюхе в обновлении записи? точнее что мне в триггере делать-то? :-/
Gin2 (2007-02-19 15:26:00) [7]а почему не триггер на вьюхе?
vani (2007-02-19 15:24:00) [8]в базе все ок. requery, например, работает, но оно нам в серверном курсоре не подходит... :(
Gin2 (2007-02-19 15:12:00) [9]
> Все плохо. Имеем старый s.name : (
а в базе что? мож транзакция не подтверждена?