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

  • Автор темы Автор темы Bagroff
  • Дата начала Дата начала

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_*
 
А что мешает указать в запросе отсортировать результаты по убыванию.
 
Это не выход. Курсоры, зачастую вещь полезная.

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

Если нужно несколько rowset - создал сколько тебе надо запросов да и все.
 
Я не согласен с такой идеологией. Курсоры на то и придуманы, дабы не `переселекчиваться`лишний раз, чтобы изменить только лишь порядок данных, а не саму выборку. При серьезном количестве данных, это будет вислица, причем самим собой и придуманная.
 
Если нужно несколько rowset - создал сколько тебе надо запросов да и все.
Это не выход, каждый лишний запрос - это лишняя нагрузка, увеличение памяти процесса и в целом снижение эффективности системы.
 
Bagroff
Alexandre
это все, конечно, очень умно и правильно, но для веб применения это рассуждения в пользу бедных.
 
Топик сводиться к легкому флейму из-за программистского формализма. ;) Но действительно, в текущем проекте, над которым идет работа, из-за предметной области оного, очень часто нужен scroll_cursor. А область, собс-но, - бухгалтерский учет.
 
ну так тем более - пусть бухгалтерия и раскошелится на те самые 500е
 
Так я и отписал, что решение найдено в виде траты 500е... а дальше уже речь о том, что можно и бесплатно, но с напильником в руках...
 
Bagroff а что мешает весь recordSet затянуть в память и там уже обходить хоть с переди-назад, хоть задам-наперед, хоть наискосок по диагонали???
 
Сверху