webForumDet fria alternativet

Visa senaste inlägget

ASP

6 svar · 229 visningar · startad av berntg

Medlem sedan feb. 200187 inlägg
Frågan#1

Känner mig villrådig.

Följande sida ska visa senaste inlägget i en nyhetsdatabas.
<%
Option Explicit
Response.Buffer = True
%>
<!-- #include file="../adovbs.inc" -->
<%
Dim Connect, SQL, RS
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../meddelande/news_97.mdb")
%>
<html>
<head>
<title>Meddelanden</title>
<link rel="STYLESHEET" type="text/css" href="../css/huvudsida.css">
</head>
<body>
<h4>Meddelande</h4>
<%
Set RS=Connect.Execute("Select top 1 from nyheter order by id desc;")
%>
<%= rs("datum") %> - <%= rs("nyhet") %>

<%
RS.Close
Connect.Close
Set RS = Nothing
Set Connect = Nothing
%>
</body>
</html>

Jag får följande felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'

[Microsoft][Drivrutin för ODBC Microsoft Access] SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda.

Om jag i stället för top 1 skriver * (alla) får jag inte felmeddelande. Var är felet?

Medlem sedan dec. 19998 577 inlägg
#2
Set RS=Connect.Execute("Select top 1 [b]*[/b] from nyheter order by id desc;")
Medlem sedan aug. 20013 824 inlägg
#3

Fixade till den lite ;)

<% 
Option Explicit 
Response.Buffer = True 

Dim Connect, SQL, RS 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../meddelande/news_97.mdb") 
%> 
<html> 
<head> 
<title>Meddelanden</title> 
<link rel="STYLESHEET" type="text/css" href="../css/huvudsida.css"> 
</head> 
<body> 
<h4>Meddelande</h4> 

<% 
Set RS=Connect.Execute("Select top 1 * from nyheter order by id desc;") 
Response.write rs("datum") &" - "& rs("nyhet") 
 
RS.Close Set : RS = Nothing 
Connect.Close : Set Connect = Nothing 
%> 
</body> 
</html>
Medlem sedan feb. 200187 inlägg
#4

Tack så mycket!

Medlem sedan feb. 200187 inlägg
#5

När jag inte har något meddelande i databasen får jag ett felmeddelande. Jag vill i stället att det ska stå: För tillfället inget meddelande. Hur åstadkommer jag detta?

Medlem sedan sep. 20026 425 inlägg
#6

Lägg till denna kod efter Set Rs=Connect.Execute...:

If Rs.EOF Then
Rs.Close : Set Rs = Nothing
Connect.Close : Set Connect = Nothing
Response.Write "Det finns inga poster i databasen än.."
Else
'Vanliga koden om det finns grejor i databasen

End If
Medlem sedan feb. 200187 inlägg
#7

Tack, tack

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)