För det första så har du inte exekverat din SQL-fråga. Lägg till 'Set RS = databas.Execute(SQLStmt)', efter din SQL-sträng.
Sedan ser Loopen konstig ut den också, byt 'Do While CheckRS(RS)' mot 'Do while NOT RS.EOF
10 svar · 166 visningar · startad av cgi
När jag använder mig av denna kod:
<%@ LANGUAGE="VBScript" %>
<!--#include file="ADOVBS.inc"-->
<!--#include file="IASUtil.asp"-->
<%
id = Request("id")
Set Databas = Server.CreateObject("ADODB.Connection") 'Skapar kopplings objektet
MdbFilePath = Server.MapPath("radannons.mdb") 'Specifierar sökvägen till databasen
Databas.Open "Driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & MdbFilePath & ";" 'Öppnar databasen
SQLStmt = "SELECT \*, Format$(\[datum\],'yyyy/mm/dd') AS formdatum "
SQLStmt = SQLStmt & "FROM Annonser, Kategorier "
SQLStmt = SQLStmt & "WHERE Annonser.Kategori_id=Kategorier.Kat_Id "
SQLStmt = SQLStmt & "AND Annonser.Id=" & id & " "
%>
<html>
<head>
<title>-Läs annons-</title>
</head>
<body background="images/bakbla.gif" bgcolor="#FFFFFF">
<%
CurrentRecord = 0
Do While CheckRS(RS)%\>
<center>
<font size="2">
Annonsen skriven av <a href="mailto:<%=rs("Epost")%>"><%=("Namn")%></a> den <%=rs("Datum")%>.<br><br>
<b>Beskrivning:</b><br>
<%=rs("Beskrivning")%><br><br>
<b>Tel:</b> <%=rs("Telefon")%>
<% RS.MoveNext
CurrentRecord = CurrentRecord + 1
Loop
%>
\</form\>
\<p align="center"\> \<br\>
\</p\>
\<p align="center"\> \</p\>
\<p align="center"\> \</p\>
\<p align="center"\> \</td\>
</tr>
</table>
</body>
</html>
Så skriver den inte ut hela html koden utan bara denna del:
<html>
<head>
<title>-Läs annons-</title>
</head>
<body background="images/bakbla.gif" bgcolor="#FFFFFF">
\</form\>
\<p align="center"\> \<br\>
\</p\>
\<p align="center"\> \</p\>
\<p align="center"\> \</p\>
\<p align="center"\> \</td\>
</tr>
</table>
</body>
</html>
Varför.??
För det första så har du inte exekverat din SQL-fråga. Lägg till 'Set RS = databas.Execute(SQLStmt)', efter din SQL-sträng.
Sedan ser Loopen konstig ut den också, byt 'Do While CheckRS(RS)' mot 'Do while NOT RS.EOF
Nej du, den vill fortfarande inte skriva ut html koden.
... och du får inget felmeddelande?
Nej jag får inget felmeddelande.
Okej... skulle du kunna visa koden som den ser ut nu...
Ok här kommer koden:
<%@ LANGUAGE="VBScript" %>
<!--#include file="ADOVBS.inc"-->
<!--#include file="IASUtil.asp"-->
<%
id = Request("id")
Set Databas = Server.CreateObject("ADODB.Connection") 'Skapar kopplings objektet
MdbFilePath = Server.MapPath("radannons.mdb") 'Specifierar sökvägen till databasen
Databas.Open "Driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & MdbFilePath & ";" 'Öppnar databasen
SQLStmt = "SELECT \*, Format$(\[datum\],'yyyy/mm/dd') AS formdatum "
SQLStmt = SQLStmt & "FROM Annonser, Kategorier "
SQLStmt = SQLStmt & "WHERE Annonser.Kategori_id=Kategorier.Kat_Id "
SQLStmt = SQLStmt & "AND Annonser.Id=" & id & " "
'Set RS = databas.Execute(SQLStmt)',
%>
<html>
<head>
<title>-Läs annons-</title>
</head>
<body background="images/bakbla.gif" bgcolor="#FFFFFF">
<%
CurrentRecord = 0
'Do while NOT RS.EOF
%>
<center>
<font size="2">
Annonsen skriven av <a href="mailto:<%=rs("Epost")%>"><%=("Namn")%></a> den <%=rs("Datum")%>.<br><br>
<b>Beskrivning:</b><br>
<%=rs("Beskrivning")%><br><br>
<b>Tel:</b> <%=rs("Telefon")%>
<% RS.MoveNext
CurrentRecord = CurrentRecord + 1
Loop
%>
\</form\>
\<p align="center"\> \<br\>
\</p\>
\<p align="center"\> \</p\>
\<p align="center"\> \</p\>
\<p align="center"\> \</td\>
</tr>
</table>
</body>
</html>
Du vet ju förut när jag hade problem
med att den inte lagrade i databasen,
och du sa att jag skulle lägga till
denna rad databas.Execute(SQLStmt)
i Matain.asp det funkade ett tag sedan slutade den att lagra helt plöttsligt,
helt mysko, du vet inte vad det kan vara för fel.
Skall det verkligen vara ett ' i koden
<%
CurrentRecord = 0
'Do while NOT RS.EOF
%>
Testa och byt ut till
<%
CurrentRecord = 0
Do while NOT RS.EOF
%>
Testa det kan kanske fungera.
Andreas
Nej funkar fortfarande inte.
Testa också att byta ut
'Set RS = databas.Execute(SQLStmt)',
till:
Set RS = databas.Execute(SQLStmt)
Detta är allt jag ser verkar vara fel, använd tillsammans med det jag skrev i föregående svar.
Andreas
Det det där funkar ju kanon.