Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 PHP, OUPUT parameter хп и SELECT  [new]
akulina
Member

Откуда:
Сообщений: 8
Всем привет,

возникла такая проблема:
написала процедуру, в которой выводится постраничная выборка
примерно так:
CREATE PROCEDURE dbo.ListBooks 
(@PerPage int, 
@PageNum int,
@TotalPages INT OUTPUT) AS

SELECT identity(int, 1,1) AS RowNum, CONVERT(INT, BookID) AS BookID INTO #tmp FROM BPWBook
SET @TotalPages = (SELECT COUNT(BookID) FROM BPWBook)
SELECT b.* FROM #tmp AS tmp
INNER JOIN BPWBook AS b on tmp.BookID = b.BookID 
WHERE tmp.RowNum BETWEEN (@PerPage * (@PageNum-1) + 1)
   AND (@PerPage * @PageNum)
ORDER BY b.ISBN ASC

DROP TABLE #tmp


GO

Все замечательно работает за исключением того, что @TotalPages после исполнения пустой.

Я уже нашла одну подобную тему, и решение там заключалось в том, чтобы сначала прогнать всю выборку. Но решение там было для ASP

я пишу на PHP, и ничего подобного у меня не вышло.
подскажиет кто сталкивался с подобным
7 фев 06, 14:07    [2329521]     Ответить | Цитировать Сообщить модератору
 Re: PHP, OUPUT parameter хп и SELECT  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
В самое начало поставить SET NOCOUNT ON.
7 фев 06, 14:09    [2329535]     Ответить | Цитировать Сообщить модератору
 Re: PHP, OUPUT parameter хп и SELECT  [new]
Glory
Member

Откуда:
Сообщений: 104760
akulina
Все замечательно работает за исключением того, что @TotalPages после исполнения пустой.

Я уже нашла одну подобную тему, и решение там заключалось в том, чтобы сначала прогнать всю выборку. Но решение там было для ASP

я пишу на PHP, и ничего подобного у меня не вышло.
подскажиет кто сталкивался с подобным

Проблема в том, что до тех пор, пока весь результает select-а не выбран клиентским приложением, выходные параметры процедуры недоступны.
В ASP, где использовался скорее всего ADO, выборка всех данных запроса как раз делалась с помощью перехода на последнюю запись (хотя можно просто сразу задавать расположение результата в свойствах)
Как это сделать в PHP наверное лучше знают в форуме по PHP
7 фев 06, 14:14    [2329572]     Ответить | Цитировать Сообщить модератору
 Re: PHP, OUPUT parameter хп и SELECT  [new]
akulina
Member

Откуда:
Сообщений: 8
Glory, спасибо. Все-таки нашла эту функцию для пхп.
mssql_next_result() , если кому интересно.

p.s. Вообще довольно редкое сочетание php + mssql, поэтому большинство функций плохо документированы, остается только верить комментариям
8 фев 06, 11:41    [2332931]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить