/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Fejl i min asp-kode - men hvor (hvad mangl~
Fra : Morten


Dato : 05-04-02 15:39

Hey.
Jeg er ved at lave et udtræk fra en MS Access-database. Den skal
udtrække en enkelt linje vandret. Den første "del" i databasen
hedder "Id" - og det er den række, den skal lave udtræk fra. Hvad
er der galt her? Jeg får fejlen:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator) in
query expression 'id = 2values( '','','','','')'.

Siden ser sådan her ud:

<html>
<head>
</head>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("database.mdb")
Conn.Open DSN
strSQL = "Select * From bruger where id = 2"
strSQL = strSQL & "values( "
strSQL = strSQL & "'"&Request.Form("brugernavn")&"',"
strSQL = strSQL & "'"&Request.Form("navn")& "',"
strSQL = strSQL & "'"&Request.Form("nickname")& "',"
strSQL = strSQL & "'"&Request.Form("email")& "',"
strSQL = strSQL & "'"&Request.Form("icq")&"')"
Conn.Execute(strSQL)
Response.write "<p>Følgende er registreret:<br><b>Brugernavn:</b>
" & Request.Form("brugernavn") & " <br><b>Navn:</b> " &
Request.Form("navn") & " <br><b>Dit nick:</b> " &
Request.Form("nickname") & " <br><b>Din email:</b> " &
Request.Form("email") & "<br><b>ICQ:</b> " & Request.Form("icq")
& " <p>"
%>
<%
'Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>

</html>

--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

 
 
Jørn Andersen (05-04-2002)
Kommentar
Fra : Jørn Andersen


Dato : 05-04-02 17:01

On Fri, 5 Apr 2002 14:39:23 +0000 (UTC), Morten
<ChilliBoy@chilliboy.dk> wrote:

>Syntax error (missing
>operator) in
>query expression 'id = 2values( '','','','','')'.

Fejlmeddelelsen fortæller dig, at:
- du mangler et mellemrum i din SQL-streng (mellem 2 og values)
- at indholdet af values er tomme strenge

<SNIP>
>Conn.Open DSN
>strSQL = "Select * From bruger where id = 2"
>strSQL = strSQL & "values( "

- her er årsagen til dit manglende mellemrum (mellem de to ovenstående
linier)

>strSQL = strSQL & "'"&Request.Form("brugernavn")&"',"
>strSQL = strSQL & "'"&Request.Form("navn")& "',"
>strSQL = strSQL & "'"&Request.Form("nickname")& "',"
>strSQL = strSQL & "'"&Request.Form("email")& "',"
>strSQL = strSQL & "'"&Request.Form("icq")&"')"

Dette er i det ehle taget en noget "utraditionel" SQL syntax.
Hvis man vil udtrække, bruger man normalt:

SELECT field1, field2, field3 FROM bruger WHERE id = 2

Indsæt selv feltnavne efter behov - fx:
strSQL = "SELECT brugernavn, navn, nickname, email, icq" & _
" FROM bruger WHERE id = 2;"

>Conn.Execute(strSQL)

Det er jo fint nok at Exceute, men hvor er resultat så?
Brug i stedet:
Set objRs = Conn.Execute(strSQL)
- så ligger resultaterne i dit RecordSet (objRs)

>Response.write "<p>Følgende er registreret:<br><b>Brugernavn:</b>
>" & Request.Form("brugernavn") & " <br><b>Navn:</b> " &
>Request.Form("navn") & " <br><b>Dit nick:</b> " &
>Request.Form("nickname") & " <br><b>Din email:</b> " &
>Request.Form("email") & "<br><b>ICQ:</b> " & Request.Form("icq")
>& " <p>"

OK, hvis du alligevel ikke skulle bruge resultaterne til noget, kunne
det selvfølgelig være lige meget med at gemme dem i et RecordSet :)

Hvis du ville bruge resultaterne, kunne du udskrive dem med noget i
retning af:

Response.write "<p>Følgende er registreret:<br>" & _
"<strong>Brugernavn:</strong> " & objRs("brugernavn") & "<br>" & _
"<strong>Navn:</strong> " & objRs("navn") & "<br>" & _
"<strong>Dit nick:</strong> " & objRs("nickname") & "<br>" & _
"<strong>Din email:</strong> " & objRs("email") & "<br>" & _
"<strong>ICQ:</strong> " & objRs("icq") & _
"<p>" & vbcrlf

<SNIP>


>'Luk databaseforbindelse

objRs.Close
Set objRs = Nothing

>Conn.Close
>Set Conn = Nothing


Håber det hjalp lidt!
Prøv at tage et ekstra kig på tutorial'en på html.dk.


Good luck,
Jørn


--
Jørn Andersen,
Brønshøj

Morten (05-04-2002)
Kommentar
Fra : Morten


Dato : 05-04-02 17:35

Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
> On Fri, 5 Apr 2002 14:39:23 +0000 (UTC), Morten
> <ChilliBoy@chilliboy.dk> wrote:
>
Jeg kan stadig ikke få det til at virke. Altså. Det ER en oprettet
profil, som er indtastet i en anden form - og ført ind i databasen. På
denne asp-side skal man så kunne "udtrække" alle de informationer,
han/hun har indtastet - som ligger som en vandret linje i
databasen...hvordan udtrækkes det lettest, for blev mere forvirret af den
forklaring
Bær lige over med mig...jeg er newbie! *G*

- Morten.

> >Syntax error (missing
> >operator) in
> >query expression 'id = 2values( '','','','','')'.
>
> Fejlmeddelelsen fortæller dig, at:
> - du mangler et mellemrum i din SQL-streng (mellem 2 og values)
> - at indholdet af values er tomme strenge
>
> <SNIP>
> >Conn.Open DSN
> >strSQL = "Select * From bruger where id = 2"
> >strSQL = strSQL & "values( "
>
> - her er årsagen til dit manglende mellemrum (mellem de to ovenstående
> linier)
>
> >strSQL = strSQL & "'"&Request.Form("brugernavn")&"',"
> >strSQL = strSQL & "'"&Request.Form("navn")& "',"
> >strSQL = strSQL & "'"&Request.Form("nickname")& "',"
> >strSQL = strSQL & "'"&Request.Form("email")& "',"
> >strSQL = strSQL & "'"&Request.Form("icq")&"')"
>
> Dette er i det ehle taget en noget "utraditionel" SQL syntax.
> Hvis man vil udtrække, bruger man normalt:
>
> SELECT field1, field2, field3 FROM bruger WHERE id = 2
>
> Indsæt selv feltnavne efter behov - fx:
> strSQL = "SELECT brugernavn, navn, nickname, email, icq" & _
> " FROM bruger WHERE id = 2;"
>
> >Conn.Execute(strSQL)
>
> Det er jo fint nok at Exceute, men hvor er resultat så?
> Brug i stedet:
> Set objRs = Conn.Execute(strSQL)
> - så ligger resultaterne i dit RecordSet (objRs)
>
> >Response.write "<p>Følgende er registreret:<br><b>Brugernavn:</b>
> >" & Request.Form("brugernavn") & " <br><b>Navn:</b> " &
> >Request.Form("navn") & " <br><b>Dit nick:</b> " &
> >Request.Form("nickname") & " <br><b>Din email:</b> " &
> >Request.Form("email") & "<br><b>ICQ:</b> " & Request.Form("icq")
> >& " <p>"
>
> OK, hvis du alligevel ikke skulle bruge resultaterne til noget, kunne
> det selvfølgelig være lige meget med at gemme dem i et RecordSet :)
>
> Hvis du ville bruge resultaterne, kunne du udskrive dem med noget i
> retning af:
>
> Response.write "<p>Følgende er registreret:<br>" & _
> "<strong>Brugernavn:</strong> " & objRs("brugernavn") & "<br>" & _
> "<strong>Navn:</strong> " & objRs("navn") & "<br>" & _
> "<strong>Dit nick:</strong> " & objRs("nickname") & "<br>" & _
> "<strong>Din email:</strong> " & objRs("email") & "<br>" & _
> "<strong>ICQ:</strong> " & objRs("icq") & _
> "<p>" & vbcrlf
>
> <SNIP>
>
>
> >'Luk databaseforbindelse
>
> objRs.Close
> Set objRs = Nothing
>
> >Conn.Close
> >Set Conn = Nothing
>
>
> Håber det hjalp lidt!
> Prøv at tage et ekstra kig på tutorial'en på html.dk.
>
>
> Good luck,
> Jørn
>
>
> --
> Jørn Andersen,
> Brønshøj


--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste