Avatar billede klas Juniormester
01. december 2002 - 20:12 Der er 14 kommentarer og
1 løsning

Find en enkelt fejl :)

Jeg får en fejl i dette asp script - den connecter til en mysql database:

<% Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER=MySQL};Server=xxxx;database=xxxx;uid=;pwd=xxxx;"
%>

<% if Request.ServerVariables("Request_method") = "POST" then

if Session("navn") = "" then
Response.Redirect("community.asp")
end if

svar = Request.form("svar1")
id = Session("id")

if svar = "" then
Response.Write "Svar på spørgsmålet!"
else


SQL = "UPDATE users SET useresvar='" & svar & "' WHERE userid=" & ID
conn.execute(SQL)

end if
  end if

Response.Write "Tak for dit svar - Du er nu med i konkurrencen!"
%>


Fejlen kommer i denne linie:
conn.execute(SQL)



På forhånd tak :)
Avatar billede skurggman Nybegynder
01. december 2002 - 20:18 #1
Du skal ikke bruge plingers hvis det er tal-værdier du arbejder med i din SQL. Prøv med dette istedet:
SQL = "UPDATE users SET useresvar=" & svar & " WHERE userid=" & ID
Avatar billede dr-data Nybegynder
01. december 2002 - 20:18 #2
hvordan lyder fejlen ???
Avatar billede dr-data Nybegynder
01. december 2002 - 20:22 #3
plingers + useresvar er hvad jeg kan se (useresvar kunne ligne en tastefejl ???)
Avatar billede eagleeye Praktikant
01. december 2002 - 20:23 #4
Hvilken fejl får du ??? det kan være users er reserveret ord i SQL, så prøv at sætte [] omkring:

SQL = "UPDATE [users] SET useresvar='" & svar & "' WHERE userid=" & ID
Avatar billede klas Juniormester
01. december 2002 - 20:32 #5
Undskyld jeg er lidt langsom - Jeg har lige noget jeg skal have lavet - kigger på jeres svar om en halv time.
Avatar billede klas Juniormester
01. december 2002 - 21:23 #6
fejlen er:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '' at line 1

/tilmeld.asp, line 49


der er en tastefejl i useresvar = usersvar . . men efter den er rettet får jeg sammen fejl
Avatar billede eagleeye Praktikant
01. december 2002 - 21:32 #7
Prøv at udskrive din SQL sætning i stedet for conn.execute og tjek/vis resultat at der står et tal efter userid = XXX
Avatar billede klas Juniormester
01. december 2002 - 21:57 #8
hvis jeg sætter dette ind:

Set rs = Conn.Execute("select * from users where userid = " & id & "")
Response.Write "<font class=""menu"">" & rs("userid") & "</font>"

får jeg stadig samme fejl...
Avatar billede eagleeye Praktikant
01. december 2002 - 21:59 #9
sådan her:

SQL = "UPDATE users SET useresvar='" & svar & "' WHERE userid=" & ID
response.write SQL
'conn.execute(SQL)
Avatar billede klas Juniormester
01. december 2002 - 22:02 #10
får følgende besked:

UPDATE users SET usersvar='1' WHERE userid=

det betyder vel at den ikke fanger brugeren...
Avatar billede eagleeye Praktikant
01. december 2002 - 22:05 #11
Ja userid kommer fra denne hvor du sætte id = session("id")

id = Session("id")

Det betyder Session("id") er tom.
Avatar billede klas Juniormester
01. december 2002 - 22:06 #12
hvis jeg istedet får den til at hente den session der hedder brugernavn, og sætte svaret ind der.. så kommer denne fejl:

TCX][MyODBC]Unknown column 'Klas' in 'where clause'
Avatar billede klas Juniormester
01. december 2002 - 22:14 #13
underligt.. jeg har tjekket.. der bliver lavet 2 sessions.. en med brugernavn og en med brugerid..
Avatar billede eagleeye Praktikant
01. december 2002 - 22:16 #14
Så skal du havde ' omkring teksten:

UPDATE users SET usersvar='1' WHERE brugernavn='klas'
Avatar billede klas Juniormester
01. december 2002 - 22:22 #15
ok så virker det :)

tak for hjælpen :)  - hvis i skulle have lyst til at vinde en talende flue har i hermed selv muliggjort det http://www.cosmic.dk/konkurrence.asp
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