Jag har en asp-fil som fungerar utmärkt på brinksters server, men när jag försöker köra den på intranätet jag håller på att utveckla fungerar den inte. Filen listar posterna i en databas (eller snarare, borde göra det). Jag får följande felmeddelande: Hej, Testa:Problem med With?
Microsoft VBScript compilation error '800a0400'
Expected statement
/for/lista_inl.asp, line 32
with rstemp
^
Här är koden:
<code>
<%post=request.querystring("post")%>
<html>
<head>
<title>Lista</title>
</head>
<body bgcolor="#FFFFFF">
<%
mySQL="select * from forum1 order by datum desc"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\db\forum.mdb")
'antal poster per sida
intPageSize=5
'vilken sida som ska visas
intPage=Request.querystring("page")
If intPage="" then intPage=1
set rstemp=Server.CreateObject("ADODB.Recordset")
with rstemp
.ActiveConnection=Conn
.Source=mySQL
.PageSize=intPageSize
.CursorType=3
.LockType=1
.Open
end with
'kontrollerar om några poster returnerats
if not rstemp.eof then
'visa rätt sida
rstemp.AbsolutePage=intPage
'räknar antalet sidor
intTotalPages=rstemp.PageCount
'visa sidnavigering
Call PageNavigation(intPage, intTotalPages)
%>
<p><br>
</p>
<table border="1">
<%
Do until rstemp.eof or intCounter>=intPageSize
intCounter=intCounter+1
%>
<tr>
<td><table border="0">
<tr>
<td>Namn: <a
href="javascript:open_post('ett_inlagg.asp?id=<%response.write rstemp("nr")%>');"><%response.write rstemp("namn")& " " &rstemp("nr")%></a></td>
<td>Datum: <%response.write rstemp("datum")%></td>
</tr>
<tr>
<td colspan="2">E-post: <%response.write rstemp("email")%></td>
</tr>
</table>
</td>
</tr>
<%
rstemp.movenext
Loop
Else
response.write "Inga poster hittades"
End if
%>
</table>
<p><br>
<%
rstemp.Close
conn.close
set Conn=nothing
set rstemp=nothing
Call PageNavigation(intPage, intTotalPages)
%><!--#INCLUDE FILE="inc_pagingFunction.asp"--></p>
</body>
</html>
</code>Sv: Problem med With?
Felet ligger nog inte på den raden som kompilatorn anger. Tyvärr så klarar varken JScript eller VBScript av att ange felens position speciellt bra, och då framförallt när det riktiga felet handlar om " och '.
Om du ändrar till nedanstående rad så fungerar det bättre (iallafall när jag testar att dubbelklicka på HTML-filen som jag sparat ned din kod i, jag har ju inte tillgång till din DB o s v).
<code>
Namn: <%response.write rstemp("namn")& " " &rstemp("nr")%></td>
</code>
Det jag har gjort är att jag bytt ' mot " och tvärtom på några ställen. Var alltid vaksam med fnuttarna när det ligger ASP-kod som innehåller dubbelfnuttar inuti strängen. Jag kan inte svara exakt på varför det är så här men det verkar fungera och jag har stött på liknande problem massor med gånger där det hjälper att byta fnuttar...
Lycka till...
/Per Hultqvist, MCPSv: Problem med With?
<code>
<%post=request.querystring("post")%>
<html>
<head>
<title>Lista</title>
</head>
<body bgcolor="#FFFFFF">
<%
mySQL="select * from forum1 order by datum desc"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\db\forum.mdb")
'antal poster per sida
intPageSize=5
'vilken sida som ska visas
If IsNumeric(Request.querystring("page"))
intPage=CLng(Request.querystring("page"))
Else
intPage=1
End If
Set rstemp = Server.CreateObject("ADODB.Recordset")
rstemp.PageSize=intPageSize
rsTemp.Open mySQL, Conn, 3, 1
'kontrollerar om några poster returnerats
if not rstemp.eof then
'visa rätt sida
rstemp.AbsolutePage = intPage
'räknar antalet sidor
intTotalPages=rstemp.PageCount
'visa sidnavigering
Call PageNavigation(intPage, intTotalPages)
%>
<p><br>
</p>
<table border="1">
<%
Do until rstemp.eof or intCounter>=intPageSize
intCounter=intCounter+1
%>
<tr>
<td><table border="0">
<tr>
<td>Namn: <a
href="javascript:open_post('ett_inlagg.asp?id=<%response.write rstemp("nr")%>');"><%response.write rstemp("namn")& " " &rstemp("nr")%></a></td>
<td>Datum: <%response.write rstemp("datum")%></td>
</tr>
<tr>
<td colspan="2">E-post: <%response.write rstemp("email")%></td>
</tr>
</table>
</td>
</tr>
<%
rstemp.movenext
Loop
Else
response.write "Inga poster hittades"
End if
%>
</table>
<p><br>
<%
rstemp.Close
conn.close
set Conn=nothing
set rstemp=nothing
Call PageNavigation(intPage, intTotalPages)
%><!--#INCLUDE FILE="inc_pagingFunction.asp"--></p>
</body>
</html>
</code>