Avatar billede gittemejlhede Nybegynder
09. august 2002 - 10:28 Der er 6 kommentarer og
3 løsninger

syntax error missing operator

strSQL = "SELECT * FROM t_prisforsp WHERE prisforspID=" & id & ";" HER ER FEJLEN



Jeg har et script der hvor man indtaster informationer i en formular. informationerne bliver smidt i en tabel i en db og skal efterfølgende sendes som email via JMail. Når jeg efter at have smidt info i db laver en Response.Redirect("sendPrisforsp.asp?id=" & id & ";")
har den ingen værdi med sig. Hvad gør jeg galt?


(uddrag af prisforspSend.asp)
Dim strSQL

strSQL = "insert into t_prisforsp (kategori, webloesning, beskriv, bidrag, firma, kontaktperson, telefon, email) values ('" & kategori & "', '" & webloesning & "', '" & beskriv & "', '" & bidrag & "', '" & firma & "', '" & kontaktperson & "', '" & telefon &"', '" & email & "');"

    DBconn.execute strSQL

    Response.Redirect("sendPrisforsp.asp?id=" & id & ";")

    DBconn.close

(uddrag af sendPrisforsp.asp)
Dim strSQL, id, RS
   
id=Request.QueryString("prisforspID")   

strSQL = "SELECT * FROM t_prisforsp WHERE prisforspID=" & id & ";"

response.write id
response.end
set RS = DBconn.Execute(strSQL)
Avatar billede cbp Nybegynder
09. august 2002 - 10:31 #1
id=Request.QueryString("prisforspID") i sendPrisforsp.asp skal være:

id=Request.QueryString("id")
Avatar billede easysoft_studios Nybegynder
09. august 2002 - 10:32 #2
hvorfor vil du have ";" på i din SQL?
Avatar billede cbp Nybegynder
09. august 2002 - 10:33 #3
Desuden skal du lige flytte DBconn.close op så den kommer før Response.Redirect da den ellers ikke bliver udført.
Avatar billede easysoft_studios Nybegynder
09. august 2002 - 10:34 #4
jeg vil gætte på at det ; i slutningen af din sql streng, kan give en syntax error
Avatar billede cbp Nybegynder
09. august 2002 - 10:36 #5
; i slutningen af en SQL-streng er tilladt men ikke nødvendig.
Avatar billede easysoft_studios Nybegynder
09. august 2002 - 10:37 #6
med asp?

har kommet til selv at sætte nogle ; i min kode før (jeg arbejder også med Delphi nemlig) og det gav syntax errors
Avatar billede easysoft_studios Nybegynder
09. august 2002 - 10:40 #7
det har du ret i, ; gør ingenting.

men har svært ved at tro at id værdien kan have noget at sige omkring syntax error
Avatar billede cbp Nybegynder
09. august 2002 - 10:44 #8
Eftersom gittemejlhede overfører id i som "id" i querystringen fra prisforspSend.asp og forsøger at modtage den som "prisforspID" må id i sendPrisforsp.asp være tom. Dermed bliver SQL'en som bliver sendt til databasen SELECT * FROM t_prisforsp WHERE prisforspID=; og det er nu en syntaksfejl i min bog :-)
Avatar billede coltau Juniormester
09. august 2002 - 10:44 #9
Response.Redirect("sendPrisforsp.asp?id=" & id & ";")

Hvis "id" i ovenstående linie skal indeholde "id" på nyindsatte record skal du ændre sql-sætningen, der indsætter recorden til dette:


Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "Select * From t_prisforsp"
rs.Open strSQL, Conn, 1, 3 ' adOpenKeyset, adLockOptimistic

rs.AddNew
rs("kategori") = kategori
rs("webloesning") = webloesning
rs("beskriv") = beskriv
rs("bidrag") = bidrag
rs("firma") = firma
rs("kontaktperson") = kontaktperson
rs("telefon") = telefon
rs("email") = email
rs.Update

' derefter kan du bruge denne linie:

Response.Redirect("sendPrisforsp.asp?id=" & RS("id"))
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