Вниз
Скачать: CL | DM;

Обновление строки   Найти похожие ветки 

 
AVKAR   (2004-06-21 13:12) [0]

Уважаемые знатокои помогите разобраться...

Есть ADODataSet c запросом типа "SELECT FName + IName + OName As FIO, FName, IName, OName FROM ", где поле FIO отображается в DBGride.
При изменении поля, включенного в составное поле FIO
 FieldByName("FName").Value := "Петров"
в DBGride изменения в поле FIO не отражаются.
При выполнении метода
 ADODataSet.Requery
данные DBGride обновляютя, но слетает позиция курсора с текущей записи. Вопрос: есть ли возможность перечитать из БД только текущую строку? или мне придется сначала запоминать текущую позицию и затем устанавливать курсор на нее вручную?


 
alsov   (2004-06-21 13:27) [1]


> ADODataSet.Requery

Попробуй так
AdoDataSet.Refresh


 
AVKAR   (2004-06-21 13:45) [2]

Строка не обновляется...


 
Ega23 ©   (2004-06-21 13:48) [3]

или мне придется сначала запоминать текущую позицию и затем устанавливать курсор на нее вручную?

Лично я всегда так делаю.

При выполнении метода
ADODataSet.Requery

В данной ситуации тебе вычисляемое поле может помочь (как один из вариантов). Но я бы рефрешил всю выборку, при этом сохраняя позицию.


 
Nalexey ©   (2004-06-21 13:52) [4]

 
 DataSet.UpdateCursorPos;
 TADODataSet(DataSet).Recordset.Resync(adAffectCurrent, adResyncAllValues);
 TADODataSet(DataSet).Resync([rmExact]);


 
AVKAR   (2004-06-21 14:29) [5]

Почему то, тоже не обновляется...


 
NAlexey ©   (2004-06-21 14:48) [6]

А покажи как пишешь?


 
AVKAR   (2004-06-21 15:12) [7]

try
 Application.CreateForm(CurrentForm, TCurrentForm);
 CurrentForm.ShowModal;
 // при открытии формы происходит ADataSet.Edit;
 // при нажатии на ОК происходит ADataSet.Post;
finally
 CurrentForm.Release;
 if ADataSet.State in [dsInsert, dsEdit] then ADataSet.Cancel;
 ADataSet.UpdateCursorPos;
 TADODataSet(ADataSet).Recordset.Resync(adAffectCurrent, adResyncAllValues);
 TADODataSet(ADataSet).Resync([rmExact]);
end;


 
NAlexey ©   (2004-06-21 15:34) [8]

AVKAR   (21.06.04 15:12) [7]
Вроде должно работать.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
3-1087809102
half_litre
2004-06-21 13:11
2004.07.18
Ms Sql + begin transaction


14-1088329306
Ihor Osov'yak
2004-06-27 13:41
2004.07.18
holly war: D8 vs C# - навеяно одной веткой из основной


3-1087469865
alsov
2004-06-17 14:57
2004.07.18
Tools для работы с Ораклом


3-1087568360
denis24
2004-06-18 18:19
2004.07.18
Работа с колонками dbgrid


14-1088426606
Sodom
2004-06-28 16:43
2004.07.18
Доменная авторизация. Создание своего модуля к apache.




   Наверх