PDO trblz. Движение по rowset'y назад ( с последнего к первому )

Bagroff

Новичок
PDO trblz. Движение по rowset'y назад ( с последнего к первому )

Народ, кто-нибудь пробовал топик?...

Windows2003
(
MS SQL 2k
)

SLES 10
(
PHP 5.2.1 + PDO
FreeTDS
)

---
PHP:
$db = new PDO('dblib:host=192.168.1.3:1433;dbname=db', 'user', '777777', array(PDO::ATTR_PERSISTENT => true));

$stmt = $db->prepare('select * from t_const', array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
$stmt->execute();

$row = $stmt->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_LAST);
print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";

while ($row = $stmt->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_PRIOR, PDO::FETCH_ORI_REL)) {
  print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
}

$stmt = null;
Но, порядок такой же, как и без использования PDO::FETCH_*
 

begemot

Новичок
А что мешает указать в запросе отсортировать результаты по убыванию.
 

Bagroff

Новичок
Это не выход. Курсоры, зачастую вещь полезная.

Я разобрался. Проблема с самим FreeTDS. Он убогий, и ничего не умеет. Выбрал от easysoft.com, триалка работает замечательно, но стоимость этого удовольствия 500ё
 

begemot

Новичок
Очень даже выход.
Вот опять же зачем тратить деньги на сомнительные вещи.

Если нужно несколько rowset - создал сколько тебе надо запросов да и все.
 

Bagroff

Новичок
Я не согласен с такой идеологией. Курсоры на то и придуманы, дабы не `переселекчиваться`лишний раз, чтобы изменить только лишь порядок данных, а не саму выборку. При серьезном количестве данных, это будет вислица, причем самим собой и придуманная.
 

Alexandre

PHPПенсионер
Если нужно несколько rowset - создал сколько тебе надо запросов да и все.
Это не выход, каждый лишний запрос - это лишняя нагрузка, увеличение памяти процесса и в целом снижение эффективности системы.
 

Фанат

oncle terrible
Команда форума
Bagroff
Alexandre
это все, конечно, очень умно и правильно, но для веб применения это рассуждения в пользу бедных.
 

Bagroff

Новичок
Топик сводиться к легкому флейму из-за программистского формализма. ;) Но действительно, в текущем проекте, над которым идет работа, из-за предметной области оного, очень часто нужен scroll_cursor. А область, собс-но, - бухгалтерский учет.
 

Фанат

oncle terrible
Команда форума
ну так тем более - пусть бухгалтерия и раскошелится на те самые 500е
 

Bagroff

Новичок
Так я и отписал, что решение найдено в виде траты 500е... а дальше уже речь о том, что можно и бесплатно, но с напильником в руках...
 

Alexandre

PHPПенсионер
Bagroff а что мешает весь recordSet затянуть в память и там уже обходить хоть с переди-назад, хоть задам-наперед, хоть наискосок по диагонали???
 
Сверху