webForumDet fria alternativet

Bygg en nyhetssida med asp och access

ASP

3 svar · 539 visningar · startad av Tottemannen

Medlem sedan sep. 200620 inlägg
Frågan#1

Hej!
Håller på och gör en nyhetssida men får det inte att fungera.
Först har jag gjort en databas i access,
sen en sida som jag döpt till nyheter.asp

nyheter.asp
' Denna kod ansluter till databasen och skriver ut alla poster.
<%
Dim objConn
Dim objRst
Dim strSQL
Set objConn = Server.CreateObject("ADODB.Connection") ' Skapar ADO Objekt
Set objRst = Server.CreateObject("ADODB.Recordset") ' Skapar recordset objekt
' Anslutnings sträng till Access databas.
objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("\db\news.mdb")
strSQL = "SELECT Date, Text, Subject FROM News ORDER BY Date DESC"
objRst.Open strSQL, objConn , 2, 3
%>

<font color="#444444" face="Verdana" size="4">  Senaste nytt</font>

<font face="Verdana" size="1">
<ul>
' Lopar igenom posterna och skriver ut dem
<% Do While Not objRst.EOF %>
<li>
<font face="Verdana" size="1">
<b><% =objRst("Subject") %></b> <% =objRst("Date") %> ' Skriver ut posterna ur recorsetet
</font><br>
<font face="Verdana" size="1">
<% =objRst("Text") %> ' Skriver ut posterna ur recorsetet
<br><br>
</font>
</li>
<% objRst.MoveNext
Loop %>
<% objRst.Close
objConn.Close %>
</ul>
</font>
</body>
</html>

Sen har jag gjort en sida som heter addnews.asp men får den inte att fungera. När jag har laddat upp den till servern och ska gå in på den sidan så finns inte den sidan, "The page cannot be found".

addnews.asp
<html>
<head>
<title>Lägg till nyhet</title>
</head>
<body>
' Lägger till den nya posten till databasen
<% If Request.QueryString("alt") = "new" ThenDim Connect1
Dim Addera1
Dim RecSet1
Set Connect1 = Server.CreateObject("ADODB.Connection") ' Skapar ADO objekt
' Anslutnings sträng till Access databas.
Connect1.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\ny\db\news.mdb")
Set RecSet1 = Server.CreateObject("ADODB.Recordset") ' Skapar recordset objekt
Addera1 = "SELECT * FROM News"
' Lägger till den ny posten till recordsetet.
RecSet1.Open Addera1, Connect1, adOpenStatic, adLockOptimistic
RecSet1.AddNew
RecSet1("Rubrik") = Request.Form("Rubrik")
RecSet1("Text") = Request.Form("Text")
RecSet1("Date") = Date
RecSet1.Update
RecSet1.Close
Connect1.Close
%>
<font face="Verdana" size="1"><br><br><b>   Posten är uppdaterad.</b></font>

' Visar en sida där man fyller i nya uppgifterna
<% Else %>
<font face="Verdana" size="2"><br><br><b>Lägg till nyhet</b></font>
<form method="POST" action="addnews.asp?alt=new">
<br><font face="Verdana" size="1"><b>  Rubrik:</b></font><br>
<input type="text" name="Rubrik" size="30"><br><br>
<br><font face="Verdana" size="1"><b>  Text:</b></font><br>
<textarea rows="10" name="Text" cols="27"></textarea><br><br>
<input type="submit" value="Skicka" name="B1">  <input type="reset" value="Återställ" name="B2">
</form>
<% End If %>
</html>

Nån som vet varför det blir så?

Medlem sedan aug. 2002733 inlägg
#2

Vad är felet?

Medlem sedan sep. 200620 inlägg
#3

Förtydligande av fråga

Hej!
Håller på och gör en nyhetssida men får det inte att fungera.
Först har jag gjort en databas i access,
sen en sida som jag döpt till nyheter.asp

Sen har jag gjort en sida som heter addnews.asp men får den inte att fungera. När jag har laddat upp den till servern och ska gå in på den sidan så finns inte den sidan, "The page cannot be found".

Nån som vet varför det blir så?

nyheter.asp
' Denna kod ansluter till databasen och skriver ut alla poster.
<%
Dim objConn
Dim objRst
Dim strSQL
Set objConn = Server.CreateObject("ADODB.Connection") ' Skapar ADO Objekt
Set objRst = Server.CreateObject("ADODB.Recordset") ' Skapar recordset objekt
' Anslutnings sträng till Access databas.
objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("\db\news.mdb")
strSQL = "SELECT Date, Text, Subject FROM News ORDER BY Date DESC"
objRst.Open strSQL, objConn , 2, 3
%>

<font color="#444444" face="Verdana" size="4">  Senaste nytt</font>

<font face="Verdana" size="1">
<ul>
' Lopar igenom posterna och skriver ut dem
<% Do While Not objRst.EOF %>
<li>
<font face="Verdana" size="1">
<b><% =objRst("Subject") %></b> <% =objRst("Date") %> ' Skriver ut posterna ur recorsetet
</font><br>
<font face="Verdana" size="1">
<% =objRst("Text") %> ' Skriver ut posterna ur recorsetet
<br><br>
</font>
</li>
<% objRst.MoveNext
Loop %>
<% objRst.Close
objConn.Close %>
</ul>
</font>
</body>
</html>

addnews.asp
<html>
<head>
<title>Lägg till nyhet</title>
</head>
<body>
' Lägger till den nya posten till databasen
<% If Request.QueryString("alt") = "new" ThenDim Connect1
Dim Addera1
Dim RecSet1
Set Connect1 = Server.CreateObject("ADODB.Connection") ' Skapar ADO objekt
' Anslutnings sträng till Access databas.
Connect1.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\ny\db\news.mdb")
Set RecSet1 = Server.CreateObject("ADODB.Recordset") ' Skapar recordset objekt
Addera1 = "SELECT * FROM News"
' Lägger till den ny posten till recordsetet.
RecSet1.Open Addera1, Connect1, adOpenStatic, adLockOptimistic
RecSet1.AddNew
RecSet1("Rubrik") = Request.Form("Rubrik")
RecSet1("Text") = Request.Form("Text")
RecSet1("Date") = Date
RecSet1.Update
RecSet1.Close
Connect1.Close
%>
<font face="Verdana" size="1"><br><br><b>   Posten är uppdaterad.</b></font>

' Visar en sida där man fyller i nya uppgifterna
<% Else %>
<font face="Verdana" size="2"><br><br><b>Lägg till nyhet</b></font>
<form method="POST" action="addnews.asp?alt=new">
<br><font face="Verdana" size="1"><b>  Rubrik:</b></font><br>
<input type="text" name="Rubrik" size="30"><br><br>
<br><font face="Verdana" size="1"><b>  Text:</b></font><br>
<textarea rows="10" name="Text" cols="27"></textarea><br><br>
<input type="submit" value="Skicka" name="B1">  <input type="reset" value="Återställ" name="B2">
</form>
<% End If %>
</html>

Medlem sedan mars 20041 505 inlägg
#4

Kom igen, varför postar du bara samma inlägg två gånger?
Använd kod-taggarna också, då blir det lättare att läsa.

Om du tittar så ser du att det bla. är ett kod-fel i filen addnews.asp:

If Request.QueryString("alt") = "new" [U]ThenDim[/U] Connect1

Jag antar att du inte ser något felmeddelande eftersom du använder Internet Explorer.

Verktyg -> Internetalternativ -> Avancerat -> Bocka ur Visa egna http-felmeddelanden

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