Вниз
Скачать: 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.027 c
1-1089123691
raul
2004-07-06 18:21
2004.07.18
Internet Explorer и TidHTTPServer


3-1087994111
Николай
2004-06-23 16:35
2004.07.18
Сохранение изменений


14-1088418920
sapsi
2004-06-28 14:35
2004.07.18
Ученые звания


3-1087544030
denis24
2004-06-18 11:33
2004.07.18
Как при создании запросом таблицы сделать поле типа Date?


14-1088560114
Думкин
2004-06-30 05:48
2004.07.18
С днем рождения! 30 июня




   Наверх