webForumDet fria alternativet

URL fel

ASPur ASP

5 svar · 916 visningar · startad av Mycodez

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

jag får detta fel:
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.

  
<% 
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("data.mdb"))
set rs=Server.CreateObject("ADODB.recordset")

Datum=date
av=request.form("Av")
inlägg=request.form("Inlägg")

SQL="insert INTO Gastbok(Datum, Av, Inlägg)"
SQL=SQL & "values('" & Datum & "','" & Av & "','" & Inlägg & "')"
 conn.execute(sql)
 response.Redirect ("Gastbok.asp")
 %>

Vart är felet hittar det inte :(

Medlem sedan aug. 2008816 inlägg
#2
Datum=date()

istället för

Datum=date
Medlem sedan juni 200032 969 inlägg
#3

noshornin skrev:

Datum=date()

istället för

Datum=date

Det har ingen betydelse - men det är onödigt att konkatenera in ett datumvärde från ASP, man kan lägga in det direkt i SQL-frågan istället.

Frågan är om man får ett bättre felmeddelande om man stänger av "friendly http error messages" / "egna http-felmeddelanden" i IE om det är det man använder.

Det var länge sedan jag jobbade med Access - men möjligen är Access känslig och vill ha mellanslag mellan slutparentesen i kolumnlistan och values.

Edit: glöm för allt i världen inte att hantera SQL injection.

mvh

Medlem sedan okt. 200591 inlägg
#4

Prova att skriva ut sql istället för att köra den då kan man se tydligare va som skall köras.

Det är oftast bättre att inte använda svenska tecken (läs ä) som namn i kod som formulär och sqlfrågor.
Prova och se.

/Robert

Medlem sedan feb. 2010445 inlägg
#5

hur skrev man när man skriver ut sqlkoden?

Medlem sedan juni 20019 519 inlägg
#6

Om vi utgå ifrån din kod så:

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("data.mdb"))
set rs=Server.CreateObject("ADODB.recordset")

Datum=date
av=request.form("Av")
inlägg=request.form("Inlägg")

SQL="insert INTO Gastbok(Datum, Av, Inlägg)"
SQL=SQL & "values('" & Datum & "','" & Av & "','" & Inlägg & "')"
[b]' ****** SQL DEBUG ******
Response.Write SQL
Response.End
' ***********************[/b]
 conn.execute(sql)
 response.Redirect ("Gastbok.asp")
 %>

Men som Rob Tjotj skriver, du kan inte ha svenska tecken på variabel namn i klassisk ASP.

Sen "Datum" i din access databas, är det en sträng eller ett datum? Om det är ett datum så kör med # istället för ', men du saknar även mellanslag vid values.

Sen bör du även se över SQL injection.

sen i korthet: Skipar svenskan i dina namn,tabeller och fält i variabler, skriv på engelska.

139 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)