Avatar billede steen_hansen Forsker
08. juni 2002 - 23:07 Der er 14 kommentarer og
2 løsninger

Fejlmeddelelse?

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'emneID ='.

debatemne.asp, line 87

Hvad betyder denne fejl?

Linie 87: Set RS = Conn.Execute (SQL)
Avatar billede tmceu Praktikant
08. juni 2002 - 23:12 #1
Sikkert at du mangler en værdi fra en variabel, eks. emneid = " & Request.QueryString("emne")
Avatar billede steen_hansen Forsker
08. juni 2002 - 23:20 #2
Hej tmceu! Kan vi kigge på det andet spørgsmål lidt senere? Jeg er ikke helt klar over hvordan den skal grejes.

For at vende tilbage til det ovenstående, kan du se en fejl her?:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

'Hent debatemne

SQL = "SELECT * FROM debat WHERE emneID = " & Request.QueryString("emneID")
Set RS = Conn.Execute (SQL)

If RS.EOF Then
    Response.Write "Debatemnet blev ikke fundet!"
    Conn.Close
    Response.End
End If

'Vis debatemne:

tidspunkt = addZ(day(RS("tid"))) & "-" & addZ(month(RS("tid"))) & "-" & year(RS("tid")) & " " & addZ(hour(RS("tid"))) & ":" & addZ(minute(RS("tid")))

response.write "<tr><td><span class=""overskrift17"">" &  RS("emne") & "</span></td></tr>"
response.write "<tr><td><span class=""tekst11"">" & "<i><b>" & "Oprettet af: " & "</b></i>" &  RS("nick") & " den " & "<nobr>" & tidspunkt & "</nobr>" & "</span></td></tr>"
response.write "<tr><td><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
response.write "<tr><td><span class=""tekst11""><b><p align=""justify"">" & RS("brodtekst") & "</p></b></span></td></tr>"
kommentar = replace( RS("kommentar"),vbcrLF,"<br>")
response.write "<tr><td><span class=""tekst11""><p align=""justify"">" & kommentar & "</p></span></td></tr>"
'response.write "<tr><td><span class=""tekst11""><p align=""justify"">" & DoEscape(RS("kommentar")) & "</p></span></td></tr>"
'response.write "<tr><td><span class=""tekst11""><nobr>" & "Artiklen er lagt på den " & FormatDateTime(rs("tid"), vbLongDate) & " klokken " & FormatDateTime(rs("tid"), vbShortTime) & "</nobr></span></td></tr>"

text=""
'response.write "<tr><td><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"

RS.Close
'----------------

'Hent besvarelser

SQL = "SELECT * FROM debat WHERE post_parent = " & Request.QueryString("emneID") & " ORDER BY emneID"
Set RS = Conn.Execute (SQL)

'Vis besvarelser:

While NOT RS.EOF
    tidspunkt = addZ(day(RS("tid"))) & "-" & addZ(month(RS("tid"))) & "-" & year(RS("tid")) & " " & addZ(hour(RS("tid"))) & ":" & addZ(minute(RS("tid")))

    response.write "<tr><td><span class=""tekst11"">" & "<br>" & "<i><b>" & "Kommenteret af: " & "</i>" &  RS("nick") & " den " & "<nobr>" & tidspunkt & "</nobr>" & "</b></span></td></tr>"
    response.write "<tr><td><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
    kommentar = replace( RS("kommentar"),vbcrLF,"<br>")
    response.write "<td><span class=""tekst11""><p align=""justify"">" & kommentar & "</p></span></td></tr>"
    response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"

    RS.MoveNext
    text=""
Wend

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>
Avatar billede doc404 Novice
08. juni 2002 - 23:25 #3
din Request.QueryString("emneId") er tilsyneladende tom...Så det er sikker den side hvor du kalder debatemne.asp der er gal
Avatar billede steen_hansen Forsker
08. juni 2002 - 23:47 #4
Den side, der kalder debatemne.asp ser sådan her ud:

<table border="0" width="605" cellpadding="4" cellspacing="0">
    <tr>
        <td>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

SQL = "SELECT TOP 25 * FROM debat WHERE post_parent = 0 ORDER BY emneID DESC"
Set RS = Conn.Execute( SQL )

    response.write "<tr><td valign=""top"" width=""50%""><span class=""tekst11""><b>" & "Emne" & "</b></span></td>"
    response.write "<td valign=""top"" width=""10%""><span class=""tekst11""><b><p align=""center"">" & "Bsv" & "</p></b></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><b>" & "Oprettet" & "</b></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><b>" & "Besvaret" & "</b></span></td></tr>"

while NOT RS.EOF
    tidspunkt = addZ(day(RS("tid"))) & "-" & addZ(month(RS("tid"))) & "-" & year(RS("tid")) & " " & addZ(hour(RS("tid"))) & ":" & addZ(minute(RS("tid")))

    response.write "<tr><td valign=""top"" width=""50%""><span class=""tekst11""><a href=""/members/debat/debatemne.asp?emneID=" & RS("emneID") & """>" & RS("emne") & "</a></span></td>"
    response.write "<td valign=""top"" width=""10%""><span class=""tekst11""><p align=""center"">" & "1" & "</p></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><nobr>" & tidspunkt & "</nobr></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><nobr>" & tidspunkt & "</nobr></span></td></tr>"
   
    RS.MoveNext
    text=""
wend

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>
        </td>
    </tr>
</table>
Avatar billede steen_hansen Forsker
09. juni 2002 - 00:03 #5
Jeg skal lige nævne, at ovenstående er inkluderet i default.asp, som har dette stående allerøverst:

<%
response.buffer = True
response.expires = -1000
%>

<%
Session.LCID = 1030
%>

<%
Function AddZ(str)
If Len(str) = 1 Then
  AddZ = "0" & str
Else
  AddZ = str
End if
End Function
%>
Avatar billede eagleeye Praktikant
09. juni 2002 - 00:41 #6
Er emneID definet som tal eller tekst i databasen?
Avatar billede tmceu Praktikant
09. juni 2002 - 01:00 #7
eagleeye >> hvis det var nummerisk/tekst problematikken, burde fejlen vel være datatype mismatch ?

Umiddelbart ser din kode ok ud, den bliver kaldt med emneid fra dit recordset. Man kunne jo så mistænke denne for at være tom, men det lyder som et autonummer felt og så er det ikke særlig sandsynligt, at det er problemet.

Du kunne på debatemne siden, prøve at udskrive værdien af emneID fra querystring, eks. ved at ligge dette helt i toppen:

Response.Write Request.QueryString("emneId")
Response.End
Avatar billede tmceu Praktikant
09. juni 2002 - 01:12 #8
Det du nu kalder emneid er vel det, du i tidligere spørgsmål har kaldt artikelid ? I så fald, kunne fejlen være at du ikke har rettet det alle steder. Hedder feltet eks. stadig artikelid i databasen ?
Avatar billede steen_hansen Forsker
09. juni 2002 - 01:35 #9
Nej, det hedder emneID. artikelID er til artikler, emneID er til debat.

Jeg satte det op i toppen:

<%
Response.Write Request.QueryString("emneId")
Response.End
%>

...og nu er siden helt blank? Der er til gengæld intet på siden nu :o)

Jeg vil lige sige, at det HAR virket. Jeg skulle gerne have det op at køre, så jeg kan efterprøve det andet spørgsmål vedr. stiangivelser.
Avatar billede tmceu Praktikant
09. juni 2002 - 01:39 #10
En blank side betyder så, at siden ikke er blevet kaldt med et emneid. Så er det én side tilbage og kontrollere det link, der kalder. Højre-klik på et link i browseren og væl ptoperties/egenskaber og kig på adressen. Er der emneid på adressen ? I så fald, klik på linket og fortæl om du har samme problem, altså bare ser en blank side.
Avatar billede steen_hansen Forsker
09. juni 2002 - 02:02 #11
Jeg har en mappe, der hedder "debat"

Inde i den har jeg default.asp, hvor der i toppen står som angivet ovenfor. Default.asp inkluderer

lst_debat.asp, som ser sådan her ud:

<table border="0" width="605" cellpadding="4" cellspacing="0">
    <tr>
        <td>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

SQL = "SELECT TOP 25 * FROM debat WHERE post_parent = 0 ORDER BY emneID DESC"
Set RS = Conn.Execute( SQL )

    response.write "<tr><td valign=""top"" width=""50%""><span class=""tekst11""><b>" & "Emne" & "</b></span></td>"
    response.write "<td valign=""top"" width=""10%""><span class=""tekst11""><b><p align=""center"">" & "Bsv" & "</p></b></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><b>" & "Oprettet" & "</b></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><b>" & "Besvaret" & "</b></span></td></tr>"

while NOT RS.EOF
    tidspunkt = addZ(day(RS("tid"))) & "-" & addZ(month(RS("tid"))) & "-" & year(RS("tid")) & " " & addZ(hour(RS("tid"))) & ":" & addZ(minute(RS("tid")))

    response.write "<tr><td valign=""top"" width=""50%""><span class=""tekst11""><a href=""/members/debat/debatemne.asp?emneID=" & RS("emneID") & """>" & RS("emne") & "</a></span></td>"
    response.write "<td valign=""top"" width=""10%""><span class=""tekst11""><p align=""center"">" & "1" & "</p></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><nobr>" & tidspunkt & "</nobr></span></td>"
    response.write "<td valign=""top"" width=""20%""><span class=""tekst11""><nobr>" & tidspunkt & "</nobr></span></td></tr>"
   
    RS.MoveNext
    text=""
wend

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>
        </td>
    </tr>
</table>

Denne linie linker så til det valgte emne i debatemne.asp:

response.write "<tr><td valign=""top"" width=""50%""><span class=""tekst11""><a href=""/members/debat/debatemne.asp?emneID=" & RS("emneID") & """>" & RS("emne") & "</a></span></td>"

Jeg har flyttet dokumenterne fra

/debat/

til

/members/debat/

- for at skabe lidt bedre overblik. Samtlige stiangivelser er gået igennem, og alt er som det BURDE være. Men jeg kan IKKE se hvad der skulle være galt. Hvis du gerne vil have det, kan jeg poste dokumenterne i kronologisk rækkefølge.
Avatar billede steen_hansen Forsker
09. juni 2002 - 02:05 #12
Desuden angiver jeg af princip altid mine stiangivelser på denne måde:

/Mappe1/UnderMappe1/

istedet for at bruge ../../UnderMappe3/.........

Så burde der ikke være tvivl om navigationen.
Avatar billede tmceu Praktikant
09. juni 2002 - 09:25 #13
Jeg mener ikke der er noget galt med navigationen ift. sti/filer, for så ville du jo ikke få en blank side, men istedet en "siden kan ikke findes" :-)

Det afgørende er, om du i dit link få et emneid med over, det var derfor jeg bad dig kontrollere properties/egenskaber for linket. Hvis du kigger på linket i browseren, er der så angivet emneid=xxx ?
Avatar billede steen_hansen Forsker
09. juni 2002 - 16:17 #14
Jeg får netop en "Siden kan ikke findes...", når jeg går ind på /debat/default.asp. Det er derfor jeg ikke kan finde nogle links :o)
Avatar billede tmceu Praktikant
09. juni 2002 - 23:06 #15
Problemet med at angive /something kan være at / som henviser til home, ikke blot henviser til dit home, men serverens home ? Jeg har i flere tilfælde set dette, afhængig af hvordan serveren er struktureret.

Hvis du browser dig direkte frem til siden default.asp, fremfor evt. at følge et link, hvad sker der så ? Hvis du stadig får en siden kan ikke findes, har det intet med scriptet at gøre, men en fejlplacering af filen.
Avatar billede steen_hansen Forsker
10. juni 2002 - 17:29 #16
Den er i orden nu, jeg har fundet fejlen. :o)

tmceu, nu er det hele i orden. Kan vi kigge på http://www.eksperten.dk/spm/221591?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester