Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];
ВнизБлокировки Найти похожие ветки
← →
minva74 (2003-03-20 17:24) [0]Не раз читал, что функция RecordCount очень не надёжная и лучше выполнить select count(*) from...
оцените ,правильно ли построена такая конструкция, а то я с блокировками ещё плаваю :-)
В одном ADOQuery получаем набор данных.
Следующей командой в ADOQuery1 получаем количество (Select Count(*) From …). Между этими командами теоретически в таблице можно что-то поменять, например запись добавить.
Поэтому делаю так:
Обе эти команды обрамлены
BeginTansaction
…
CommitTransaction
Запрос - select * from table WITH (TABLOCK HOLDLOCK) блокирует таблицу на запись на время транзакции. Если без HOLDLOCK то только на время выполнения команды select. Это я так понял?
Таким образом select count(*) вернёт верное число ,соответствующее кол-ву записей в первом запросе. Короче, как правильно ли я делаю?
← →
Alexandr (2003-03-21 07:38) [1]repeatable read транзакция не поможет?
← →
jocko (2003-03-21 09:42) [2]>Не раз читал, что функция RecordCount очень не надёжная и лучше >выполнить select count(*) from...
я тоже не раз читал, но ни разу не получилось в этом убедиться...
← →
Dmitry Filippov (2003-03-21 09:46) [3]В IB компонентах RecordCount возвражает количество отфетченых записей, по этому чтобы не врал, нужно проверить Dataset.isSequensed, если false то FetchAll.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c