webForumDet fria alternativet

Myskofel

ASP

4 svar · 199 visningar · startad av Jacob

Medlem sedan dec. 2000503 inlägg
Frågan#1

Jag fick ett mail i dag som löd:

Hej, jag har under en tid inte kunnat få upp fliken Releaseplan på min
Mac (Mac OS 9.1 med Netscape Navigator 4.75) -- det har fungerat utmärkt
tidigare, men nu går det alltså inte. Felmeddelandet lyder:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
/releas.asp, line 15

Det lustiga är att det fungerar perfekt för mig. Här kommer den relevanta koden ur releas.asp:

<%Set RecSet = Server.CreateObject("ADODB.Recordset")
If Request.QueryString("sortera") = "vecka" Then
Addera = "SELECT * FROM releaseplan ORDER BY vecka"
ElseIf Request.QueryString("sortera") = "titel" Then
Addera = "SELECT * FROM releaseplan ORDER BY title"
ElseIf Request.QueryString("sortera") = "bolag" Then
Addera = "SELECT * FROM releaseplan ORDER BY bolag"
ElseIf Request.QueryString("sortera") = "kategori" Then
Addera = "SELECT * FROM releaseplan ORDER BY kategori"
[b]End If[/b]
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic %>

Den fetta raden är rad 15

------------------
ja©ob

[Redigerat av Jacob den 21 aug 2001]

Medlem sedan mars 20016 260 inlägg
#2

det känns ganska omöjligt att ett serverside script ska kunna påverkas så - men dock - har du typ nåt formulär eller querystring i samband med sidan? kan vara att det blir fel där... kanske - kan jag tänka mig ;)

------------------
-------------------
Andreas Lännerberg
Jag hör till dom som betalar mina räkningar med glädje, men dom vill hellre ha betalt i pengar.

Medlem sedan dec. 200012 464 inlägg
#3

Borde du inte ha en else, så att du tar hand om fallet att Request.QueryString("sortera") inte innehåller något vettigt.

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 20005 273 inlägg
#4

varför inte en select case?? :q

------------------
I like ¼ £ whith cheese

Medlem sedan juni 200032 967 inlägg
#5

jag är lite inne på LarsGs spår, men lämnar ändå ett bestående intryck i debatten, med följande kodförenkling:

<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
strSortField = Request.QueryString("sortera")
if strSortField = "" then strSortField = "ditt_default_sorteringsfält"
strSQL = "SELECT * FROM releaseplan ORDER BY " & strSortField
RecSet.Open strSQL, Connect, adOpenStatic, adLockOptimistic 
%>

se då till att du skickar title istället för titel i querystringen från sidan innan. det är inte det som är ett skrivfel, som gör att LarsG är inne på rätt spår?

------------------
can i borrow your goat?

[Redigerat av @nders den 21 aug 2001]

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