Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AdoQuery, AdoTable совместный доступ 
:(
    Опции темы
Неопытный
Дата 22.2.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



Примерный код:
...
AdoTable1.first;

while not AdoTable.eof do
begin
x:=AdoTable1.fieldByname...;

sql:='Update ... Where field = " '+x+ ' " ';

AdoQuery.execSql;

AdoTable.next;
end;
 Перебираются записи в таблице.
Взяли запись, прочитали нек элемент.
Над  той же таблицей выполняем Query, однако запрос не обновляет таблицу.
Получается, что таблица как бы заблокирована что ли?
То есть в момент открытья таблицы (AdoTable.Open) делается снимок таблицы,  с которым потом и 
происходит работа,(все действия через другие компоненты выполняются над самой таблицей),  а после закрытия TAble как бы пересохраняется.  Правильно ли я понимаю?
Можно ли выполнять запрос не над самой таблицей, а над AdoTable?(Наверное нет)
Другой выход перед выполнением запроса таблицу закрыть, потом открыть снова.
Однако курсор уже будет стоять на первом месте.
Нужно считать положение курсора, Потом двигаться туда, где был раньше в цикле. А можно ли работать с AdoTable как со структурой прямого доступа,
Типа AdoTable1....[ном записи] - позиционировать курсор на нужную запись?

 

PM MAIL   Вверх
Savek
Дата 22.2.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

Репутация: 7
Всего: 7



Цитата(Неопытный @  22.2.2007,  13:31 Найти цитируемый пост)
Типа AdoTable1....[ном записи] - позиционировать курсор на нужную запись?

А что тут непонятного?
Код

var rn : integer;
begin
rn:=TADOTable.RecNo; 

....

TADOTable.RecNo:=rn;
end;



PM MAIL   Вверх
Неопытный
Дата 22.2.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2006

Репутация: нет
Всего: нет



TADOTable.RecNo - позиционирует курсор, спасибо! 
PM MAIL   Вверх
bas
Дата 22.2.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



Цитата(Savek @  22.2.2007,  14:23 Найти цитируемый пост)
rn:=TADOTable.RecNo; 

Опасная эта штука, уж лучше делать все через запросы.

Это сообщение отредактировал(а) bas - 22.2.2007, 18:27
PM MAIL   Вверх
Данкинг
Дата 22.2.2007, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(bas @ 22.2.2007,  18:27)
Цитата(Savek @  22.2.2007,  14:23 Найти цитируемый пост)
rn:=TADOTable.RecNo; 

Опасная эта штука, уж лучше делать все через запросы.

Чем опасная? Я тоже такое использую при необходимости.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
RST8
Дата 22.2.2007, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 8.12.2004

Репутация: нет
Всего: 1



Цитата(Данкинг @  22.2.2007,  19:17 Найти цитируемый пост)
Чем опасная? Я тоже такое использую при необходимости. 


Количество записей в таблице может измениться, тогда "rn" потеряет актуальность, можно какуюлибо запись пропустить при обработке. Что то типа такого.
--------------------
Посадка, с места которой можно уйти на собственных ногах, считается удачной!
PM   Вверх
Vas
Дата 24.2.2007, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



А чем Locate или Bookmark не подходит?


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0756 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.