Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

можно ли обновить одну строку запроса? [MSSQL]


Bless ©   (2003-11-25 16:31:00) 

сабж.


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

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


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

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

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

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

Ага

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

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


Bless   (2003-11-26 11:42:00) [3]

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

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

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

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

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


ZrenBy   (2003-11-26 10:35:00) [4]

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

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

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

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


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

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


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

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


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

ХЕЛП! спасайте. База 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 ..... ..
Что делатЬ? базу менять?


ZrenBy   (2003-11-25 17:58:00) [8]

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

uses ...,ADOInt;

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


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

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

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

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


Stas   (2003-11-25 16:37:00) [10]

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


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

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


Reindeer Moss Eater   (2003-11-25 16:33:00) [12]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо