日期:2014-05-16  浏览次数:20984 次

关键字 'as' 附近有语法错误如何解决啊
Microsoft OLE DB Provider for SQL Server 错误 '80040e14' 

关键字 'as' 附近有语法错误。 

/include/RsPage_Class.asp,行 341 
代码如下:
Public Function GetRows(ByRef Conn)
Dim rs,cmd,sql,rsArr,i,j,k

i = Ubound(sOrderbyArr,2)

Select Case DbType
Case 0 'Access库

'构造sql
sql = "select top " & (sCurPage * sPageSize) & " "
sql = sql & sColList & " from " & sTbName & " where " & sWhere & " order by "
For j = 0 To i '构造order by
sql = sql & sOrderbyArr(0,j) & " " & sOrderbyArr(1,j)
If j <> i Then
sql = sql & ","
End If 
Next

'求总记录数
sTotalCount = Conn.Execute("select count(*) from " & sTbName & " where " & sWhere)(0)

'求总页数
If (sTotalCount Mod sPageSize) = 0 Then
sTotalPage = sTotalCount / sPageSize
Else
sTotalPage = Int(sTotalCount / sPageSize) + 1
End If

If sCurPage > sTotalPage Then
sCurPage = sTotalPage
End If

'取数据
If sTotalCount = 0 Then
rsArr = ""
Else
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,Conn,1,1
rs.AbsolutePosition = (sCurPage - 1) * sPageSize + 1
rsArr = rs.GetRows(sPageSize)
rs.Close
Set rs = Nothing
End If 

Case 1 'SQL Server库,用存储过程分页,存储过程应当提前建立好。建立存储过程的代码在本页面尾部
If i = 0 Then '只有一个排序字段,使用sp_page分页
Select Case LCase(sOrderbyArr(1,0)) '排序类型判断
Case "asc"
j = 0 '保存在临时变量j中
Case "desc"
j = 1 '保存在临时变量j中
End Select

Set Cmd = Server.CreateObject("ADODB.Command")
With Cmd
.ActiveConnection = Conn
.CommandType = &H0004 'adCmdStoredProc = &H0004
.CommandText = "sp_page"

.Parameters.Append .CreateParameter("@tb",200,&H0001,50,sTbName) '表(视图)名。adVarChar = 200,adParamInput = &H0001
.Parameters.Append .CreateParameter("@col",200,&H0001,50,sOrderbyArr(0,0)) '按该列来进行分页。adInteger = 3,adParamInput = &H0001
.Parameters.Append .CreateParameter("@coltype",3,&H0001,8,sOrderbyArr(2,0)) '0数字,1字符,2日期。adInteger = 3,adParamInput = &H0001
.Parameters.Append .CreateParameter("@orderby",3,&H0001,8,j) '0顺序,1倒序。adInteger = 3,adParamInput = &H0001
.Parameters.Append .CreateParameter("@collist",200,&H0001,800,sColList) 'adVarChar = 200,adParamInput = &H0001
.Parameters.Append .CreateParameter("@pagesize",3,&H0001,8,sPageSize) 'adInteger = 3,adParamInput = &H0001
.Parameters.Append .CreateParameter("@page",3,&H0001,8,sCurPage) 'adIntege