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

Вниз

АДО: Как обновить только одну строку в наборе   Найти похожие ветки 

 
alex_*** ©   (2006-12-27 11:00) [0]

Пришлось взяться за дельфи. Некоторое время назад пытался решить проблему - полазил по форумам, но результата не получил.
Суть такая. Есть AdoDataSet, в который закачали данные. Добавление/Редактирование происходит из отдельного диалога путем вызова ХП. Как в наборе потом обновить только измененную запись. Решил кто-то такую вещь?


 
sniknik ©   (2006-12-27 12:17) [1]

ADODataSet1.Properties["Unique Table"].Value:= "table";
ADODataSet1.Properties["Resync Command"].Value:= "select * from table where ID = ?";
ADODataSet1.Properties["Update Resync"].Value:= adResyncAll;

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


 
sniknik ©   (2006-12-27 12:32) [2]

наверное нужно пояснить... первые 3 команды это для автообновления записи при ее изменении/добавлении (если изменяется к примеру 1 поле рекордсета, а нужно "подтянуть" дефаултные/связанные на сервере значения других полей, которые изменятся тоже)

вторые три это "чистое" обновление одной записи, нужно если изменили запись не в том же рекордсете, а отдельно (командой в ADOCommand к примеру).


 
alex_*** ©   (2006-12-27 12:52) [3]

Спасибо, попробую. Что-то такое писал, для MS SQL, Но profiler упорно показывал SELECT без WHERE. Может что не так делал. Щас еще раз попробую



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

Форум: "Базы";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.05 c
15-1172479216
NailMan
2007-02-26 11:40
2007.03.25
WinXP 32-бит и 4Гб памяти


15-1172673922
partizan
2007-02-28 17:45
2007.03.25
Компонента для работы с ФТП


3-1167990064
Megabyte
2007-01-05 12:41
2007.03.25
Экспорт в файл средствами SQL


15-1172662527
ocean
2007-02-28 14:35
2007.03.25
Проблема с сетью


15-1172742126
_БарЛог
2007-03-01 12:42
2007.03.25
Типы батареек





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский