Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
1-1088808759
GuAV
2004-07-03 02:52
2004.07.18
ShellTreeView


3-1088174881
*boba*
2004-06-25 18:48
2004.07.18
Запрос?


9-1080314417
dimych
2004-03-26 18:20
2004.07.18
Второй метод создания игровых карт


3-1087817485
Igoryok
2004-06-21 15:31
2004.07.18
TADOStoredProcedure - глюк


4-1086285194
Kair
2004-06-03 21:53
2004.07.18





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский