Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.19;
Скачать: CL | DM;

Вниз

можно ли обновить одну строку запроса?   Найти похожие ветки 

 
Bless   (2003-11-25 16:31) [0]

сабж.


 
Reindeer Moss Eater ©   (2003-11-25 16:33) [1]

А вот в Оракле, который отдыхает, - можно.
:)


 
VAleksey ©   (2003-11-25 16:35) [2]

Как вариант, можно извратится повторным запросом строки и модифицировать ее на клиенте.


 
Stas ©   (2003-11-25 16:37) [3]

ADODataSet1.Properties["Update Resync"].Value:= adResyncAll;
см. http://www.delphikingdom.com/helloworld/ado02.htm


 
Bless   (2003-11-25 17:36) [4]

Stas [3]> :) Эту широко разрекламированную статью я уже читал и даже использую с большой для себя пользой. Но это не тот случай.
Update resync влияет на то, какие поля будут обновлены в результате обновления строки, но как он может помочь инициировать обновление одной строки?

>А вот в Оракле, который отдыхает, - можно.

Радость за оракл и всех, кто на нем пишет меня просто распирает.
И я посыпаю голову пеплом за то, что выбор мой (точнее, не совсем мой. А если абсолютно точно - вообще не мой) пал на MSSQL. Жаль только, это не помогает решить проблемку.


 
ZrenBy ©   (2003-11-25 17:58) [5]

>>но как он может помочь инициировать обновление одной строки?

uses ...,ADOInt;

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


 
yurchello   (2003-11-25 21:01) [6]

ХЕЛП! спасайте. База PostgreSQL,
Проблема - через ADO добавляю строчку в таблицу - ни в какую не хочет обновлять автоинкримент поле!!!.

Properties["Update Resync"].Value:= adResyncAll;
(см. http://www.delphikingdom.com/helloworld/ado02.htm)

никаких результатов не даёт. непомогает и

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


При повторном редактировании добавленной строки выдаёт
Row cannot be located for updating ..... ..
Что делатЬ? базу менять?


 
Bless   (2003-11-26 09:08) [7]

TO ZrenBy> Спасибо. Попробую


 
Bless   (2003-11-26 10:03) [8]

TO ZrenBy[5]> А не мог бы ты объяснить, что делают вторая и третья строка? А именно:
1) зачем нужны resync и во второй, и в третьей строках?
2) зачем нужен rmExact? Ведь мы строчкой UpdateCursorPos гарантировали, что курсор позиционирован на текущую запись.
И вообще, в каких случаях может быть, что курсор не совпадает с текущей записью?


 
ZrenBy ©   (2003-11-26 10:35) [9]

>>Bless (26.11.03 10:03) [8]

1) Resync`и бывают разные - ado-шные и TADO-шные.
Первый делает нормальный ресинк рекордсета,
а второй нужен, чтобы этот измененный рекордсет закачать
в буфер TCustomDataSet-а или как там его.

2)Это не ко мне. Когда я впервые задал себе подобный вопрос,
то ответ пришел мгновенно - я уже давно не использую
TADO-компоненты, а работаю напрямую с интерфейсами ADO.

3) >>курсор не совпадает с текущей записью?
В TADO-компонентах всегда


 
Bless   (2003-11-26 11:42) [10]

Четко и ясно. Спасибо.
А где можно прочитать о том, что реализуют те или иные функции, предоставленные интерфейсом ADO?

>я уже давно не использую
>TADO-компоненты, а работаю напрямую с интерфейсами ADO

Это как? А данные с помощью чего отображаешь? Самописными компонентами?

>В TADO-компонентах всегда

А в чём не всегда, объясни, если не трудно. Я всегда думал, что текущая запись - это та, на которую указывает курсор. Поэтому я не понимаю, как может курсор указывать не на текущую запись. Наверное, я думал неправильно. А как правильно? Что такое "текущая запись" и что такое "курсор"?


 
ZrenBy ©   (2003-11-26 12:08) [11]

>>А где можно прочитать о том, что реализуют те или иные
>>функции, предоставленные интерфейсом ADO?

Мельком видел книгу "ADO в Delphi", хотел купить,
а на следующий день уже не было. А так MSDN

>>А данные с помощью чего отображаешь? Самописными компонентами?

Ага

>>Что такое "текущая запись" и что такое "курсор"?

Ну, тут надо договориться о терминах. Я просто хотел
сказать, что текущая запись в ADODataSet в его буфере не
совпадает с AbsolutePosition ADO-шного рекордсета,
поэтому и нужен ADODataset.UpdateCursorPos


 
Bless   (2003-11-26 12:47) [12]

Понятно. Спасибо.



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
1-62114
III
2003-12-08 13:23
2003.12.19
DLL+RunTime+Visual Components


1-62012
Helg
2003-12-06 21:18
2003.12.19
Как закрыть форму при помощи ESC


1-62092
Chainik
2003-12-08 17:47
2003.12.19
Как OpenDialog настроить на выбор не файла, а папки?


3-61990
ZHK
2003-11-24 16:28
2003.12.19
Почему не создаются таблицы?


1-62107
Hose
2003-12-08 12:22
2003.12.19
Использование в Delphi классов написанных на C++Builder