Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: 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 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
14-1088325039
_student
2004-06-27 12:30
2004.07.18
Нужно при щелчке на рабочем столе вывести звезду


1-1088670508
Subdigger
2004-07-01 12:28
2004.07.18
DEVexpress


3-1088133459
RDen
2004-06-25 07:17
2004.07.18
Фильтрация у таблицы с условием частичного совпадения.


14-1088363550
juiceman
2004-06-27 23:12
2004.07.18
подскажите


1-1089050149
tea
2004-07-05 21:55
2004.07.18
Не могу найти аналог «Symbol…» из BP7