Ошибка подкачки SQL Server - PullRequest
       6

Ошибка подкачки SQL Server

2 голосов
/ 24 февраля 2010

В своем недавнем вопросе я спросил о методах подкачки в SQL Server. Читая статью, которую кто-то там опубликовал, я придумал следующий код. Мне все кажется правильным, но я получаю следующую ошибку:

Предложение ORDER BY недопустимо в представлениях, встроенных функциях, производных таблицах, подзапросах и выражениях общих таблиц, если также не указано TOP или FOR XML.

 PAGEID = Request.QueryString("PAGEID")

 If PAGEID = "" or PAGEID = 0 Then
  PAGEID = 1
 End If

 RecordsPerPage = 1
 RecordsPageSize = PAGEID * RecordsPerPage

 SQL = "SELECT * FROM ( SELECT I.IMAGESID, I.IMAGESNAME, I.IMAGESSMURL, ROW_NUMBER() OVER (ORDER BY I.IMAGESID) As Row"
 SQL = SQL & " FROM IMAGES I"
 SQL = SQL & " WHERE Row > ("& RecordsPageSize - RecordsPerPage &") AND Row <= ("& RecordsPageSize &") ORDER BY I.IMAGESID DESC"
 Set objImages = objConn.Execute(SQL)

%>
                <div class="row">
                    <label for="Images">Images</label>
<% Do While Not objImages.EOF %>
     <img src="<%=objImages("IMAGESSMURL")%>" alt="<%=objImages("IMAGESNAME")%>" border="0" />
<%
 objImages.MoveNext
 Loop
%>

1 Ответ

1 голос
/ 24 февраля 2010

Попробуйте добавить еще один ") A" перед "где" и измените I.imagesid на A.imagesid:

  SQL = SQL & " FROM IMAGES I ) A"
  SQL = SQL & " WHERE Row > ("& RecordsPageSize - RecordsPerPage &") AND Row <= ("& RecordsPageSize &") ORDER BY A.IMAGESID DESC"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...