Hej. Jag håller på att lära mig lite ASP. Har fått problem med min databas jag håller på med. när jag ska lägga till en artikel så kommer det upp, "sidan kan inte visas", undrar då vart problemet ligger? Börja med att stänga av Visa vänliga HTTP felmeddelanden: har provat detta. Du får sätta skriva/skapa-rättigheter på din accessdatabas. Antingen via verktyg du har eller be din ISP om hjälp. Du har ingen sökväg till filen. Ligger den i samma mapp som asp-filen? Byt även till OLEDB-drivaren i samma veva:Databas problem
Koderna jag har är följande
enter.asp
<%
set rRubrik = Request("rubrik") ' Hämta rubriken ur formuläret
set rText = Request("artikel") ' Hämta texten ur formuläret
set rNamn = Request("av") ' Hämta skribentensnamnet ur formuläret
set rTelefon = Request("datum") ' Datumet från formuläret
' Kontrollera värdena vi fick från formuläret
if rRubrik = "" or rText = "" then
Response.Write("<H3>Rubrik eller text saknas</H3>Du måste ha en rubrik och en text!")
else
if rNamn ="" then
rNamn="Saknas"
end if
' Skapa ett databasobjekt
set DBConnection = Server.CreateObject("ADODB.Connection")
' Anslut till databasen med en fil-dsn
DBConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=test.mdb"
' Skapa SQL-satsen vi använder för att infoga data
SQLstring = "INSERT INTO radannonser (rubrik, artikel, av, datum) VALUES ('"& rRubrik &"', '"& rText &"', '"& rNamn &"', '"& rTelefon &"')"
' Utför SQL-satsen
DBConnection.Execute(SQLstring)
Response.Write("<H3>Inmatning lyckades!</H3>Din Artikel är nu inlaggd.")
' Stäng databaskopplingen
DBConnection.Close
set DBConnection = Nothing
end if
%>
<P><LI>Titta på Artiklarna<LI>Lägg in en ny Artikel
enter.htm
<code>
<HTML>
<HEAD><TITLE>Skriv en Artikel</TITLE>
<BODY>
<H2>Skriv en Artikel</H2>
<FORM ACTION="enter.asp" METHOD="POST">
<BR>Rubrik <INPUT TYPE="TEXT" NAME="rubrik">
<BR>Artikeltext <TEXTAREA NAME="artikel"> </TEXTAREA>
<BR>Skribentens Namn <INPUT TYPE="TEXT" NAME="av">
<BR>Datum <INPUT TYPE="TEXT" NAME="datum">
</B>
<INPUT TYPE="SUBMIT" VALUE="Publicera Artiklen"> <INPUT TYPE="RESET" VALUE="Rensa allt">
</FORM>
</code>
show.asp
<%
MinstaDatum = DateSerial(year(date), month(date), day(date)-rDagar)
' Skapa ett databasobjekt
set DBConnection = Server.CreateObject("ADODB.Connection")
' Anslut till databasen med en fil-dsn
DBConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=test.mdb"
' Skapa SQL-satsen vi använder för att infoga data
SQLstring = "SELECT * FROM radannonser WHERE kategori = '"&rKategori&"' and datum > "&MinstaDatum&" ORDER BY datum DESC"
' Utför SQL-satsen och skapa ett recordset RS
set RS=DBConnection.Execute(SQLstring)
if RS.EOF then
Response.Write("<H3>Inga artiklar</H3>Det fanns inga artiklar som passar in på din sökning.")
end if
Response.Write("<TABLE BORDER=0>")
do while not RS.EOF
RS.MoveNext
Loop
Response.Write("</TABLE>")
RS.Close
set RS = Nothing
' Stäng databaskopplingen
DBConnection.Close
set DBConnection = Nothing
%>
Sv: Databas problem
I IE
Tools=> Internet options=>advanced=> rätt långt upp bocka ur Show Friendly HTTP error messages.
I svensk version av IE ligger den rätt långt ner.
Du får då felmeddelandet i klartext och har lättare för att felsöka då.
//Anna-KarinSv:Databas problem
Får nu följande felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x958 Thread 0x690 DBC 0x2dda544 Jet'.
/enter.asp, line 24
24 linjen är den med: ' Anslut till databasen med en fil-dsn
DBConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=test.mdb"Sv: Databas problem
Sv: Databas problem
DBConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test.mdb")
/Johan