Avatar billede mick Nybegynder
19. januar 2003 - 14:35 Der er 3 kommentarer og
1 løsning

Problemer med paging på MS SQL

Jeg forsøger at køre nedenstående script for paging via en stored procedure på en MS SQL server. Men jej får fejlmeldingen "Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another" i linien ".CommandType = adCmdStoredProc"

Nogen som har et forslag til hvad der kan være galt?

<%@ LANGUAGE=VBSCRIPT %>
<HTML>
<HEAD>
<TITLE>ASPPagesSQL.asp</TITLE>
<STYLE TYPE="text/css">
BODY {font-family:Tahoma,Arial,sans-serif; font-size:10pt}
.heading {font-family:Tahoma,Arial,sans-serif; font-size:14pt; font-weight:bold}
.cite {font-family:Tahoma,Arial,sans-serif; font-size:8pt}
</STYLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<SPAN CLASS="heading">Using SQL Server to Perform Data Paging</SPAN><HR>
<!--------------------------------------------------------------------------->
<%
  Dim cmdAuthors
  Dim rsData
  Dim iPage
  Dim iLastPage
  Dim sQuote

  sQuote = Chr(34)

' get the requested data
  If Request.QueryString("PAGE") = "" Then
    iPage = 1
  Else
    iPage = CInt(Request.QueryString("PAGE"))

    If iPage < 1 Then
      iPage = 1
    End If
  End If

  ' create the objects
  strConn = "DRIVER=SQL Server; SERVER=localhost; UID=test; PWD=test; DATABASE=test;"
  Set cmdAuthors = Server.CreateObject("ADODB.Command")
  Set rsAuthors = Server.CreateObject("ADODB.Recordset")

  With cmdAuthors
    .ActiveConnection = strConn
    .CommandText = "usp_PagedAuthors"
    .CommandType = adCmdStoredProc

    .Parameters.Append .CreateParameter("RETURN_VALUE", adInteger, _
                              adParamReturnValue)
    .Parameters.Append .CreateParameter("@iPage", adInteger, _
                              adParamINput, 8, iPage)
    .Parameters.Append .CreateParameter("@iPageSize", adInteger, _
                              adParamINput, 8, 10)

    Set rsData = .Execute
  End With

  ' Create the table
  ' start building the table
  Response.Write "<TABLE BORDER=1><THEAD><TR>"
  For Each fldF In rsData.Fields
    Response.Write "<TD>" & fldF.Name & "</TD>"
  Next
  Response.Write "</TR></THEAD><TBODY>"

  ' now loop through the records
  While Not rsData.EOF
    Response.Write "<TR>"
    For Each fldF In rsData.Fields
      Response.Write "<TD>" & fldF.Value & "</TD>"
    Next
    Response.Write "</TR>"
    rsData.MoveNext
  Wend
  Response.Write "</TBODY></THEAD></TABLE><P>"
  ' now some paging controls
  sMe = Request.ServerVariables("SCRIPT_NAME")
  Response.Write "&nbsp;<A HREF=" & sQuote & sMe & "?PAGE=1" & sQuote & ">First Page</A>"

  ' close the recordset and extract the number of records left
  rsData.Close
  iLastPage = cmdAuthors.Parameters("RETURN_VALUE")

  ' only give an active previous page if there are previous pages
  If iPage <= 1 Then
    Response.Write "&nbsp;<SPAN>Previous Page</SPAN>"
  Else
    Response.Write "&nbsp;<A HREF=" & sQuote & sMe & "?PAGE=" & iPage - 1 & sQuote & ">Previous Page</A>"
  End If

  ' only give an active next page if there are more pages
  If iLastPage = iPage Then
    Response.Write "&nbsp;<SPAN>Next Page</SPAN>"
  Else
    Response.Write "&nbsp;<A HREF=" & sQuote & sMe & "?PAGE=" & iPage + 1 &  sQuote & ">Next Page</A>"
  End If

  Response.Write "&nbsp;<A HREF=" & sQuote & sMe & "?PAGE=" & iLastPage & sQuote & ">Last Page</A>"

  ' clean up
  Set rsData = Nothing
  Set cmdAuthors = Nothing
%>
<!--------------------------------------------------------------------------->
<HR><SPAN CLASS="cite">&copy;1999 <A CLASS="cite" HREF="http://www.wrox.com/">Wrox Press</A> -
<A CLASS="cite" HREF="http://webdev.wrox.co.uk/books/2610/">Professional ASP 3.0</A> (ISBN: 1-861002-61-0)</SPAN>
</BODY>
</HTML>
Avatar billede _darkstar_ Nybegynder
19. januar 2003 - 15:08 #1
Hmmm....

Hvor bliver adCmdStoredProc defineret henne?
Avatar billede hossein Nybegynder
19. januar 2003 - 15:34 #2
den der:
  .Parameters.Append .CreateParameter("@iPageSize", adInteger, _
                              adParamINput, 8, 10)

skal den ikke være adParamOutput? du har 2 adParamInput.
Avatar billede mick Nybegynder
03. februar 2003 - 12:22 #3
Tak for hjælpen. Kom med et svar så får i nogle poeng.
Avatar billede hossein Nybegynder
03. februar 2003 - 21:21 #4
Ok, det ser ud at det hjalp, eller hvad?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester