Avatar billede vendelbjerg Nybegynder
29. juni 2002 - 19:24 Der er 13 kommentarer og
1 løsning

Hvad fejler der her?

Jeg er ved et lille script til en Tagwall... det så sådan her ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/asp/tagwall/tagwall.mdb")
Conn.Open DSN

strEmne = Request.Form("Emne")
strNavn = Request.Form("Navn")
strEmail = Request.Form("Email")
strHjemmeside = Request.Form("Hjemmeside")
strBesked = Request.Form("Besked")

strSQL = "Update Tagwall set Where id =" & Request.Querystring("id")  (Emne, Navn, Email, Hjemmeside, Besked) values('"& strEmne &"', '" & strNavn &"', '"& strEmail &"', '"& strHjemmeside &"', '"& strBesked & "')"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

response.redirect "ret.asp"
%>

Men når jeg så prøver at afvikle dette så siger den følgene:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/asp/tagwall/Admin/doret.asp, line 13

strSQL = "Update Tagwall set Where id =" & Request.Querystring("id")  (Emne, Navn, Email, Hjemmeside, Besked) values('"& strEmne &"', '" & strNavn &"', '"& strEmail &"', '"& strHjemmeside &"', '"& strBesked & "')"
(og så en pil der peger lige på v'et i values) du kan se det på http://www.rasmuslarsen.com/asp/tagwall/Admin/doret.asp jeg kan sq ikke lige se hvad fejlen er... men det håber jeg jo så i kan.

VH

Rasmus
Avatar billede egede Nybegynder
29. juni 2002 - 19:27 #1
strSQL = "Update Tagwall set Where id =" & Request.Querystring("id") & "  (Emne, Navn, Email, Hjemmeside, Besked) values('"& strEmne &"', '" & strNavn &"', '"& strEmail &"', '"& strHjemmeside &"', '"& strBesked & "')"
Avatar billede egede Nybegynder
29. juni 2002 - 19:28 #2
Du havde glemt & " efter Request.querystring("id")...
Avatar billede vendelbjerg Nybegynder
29. juni 2002 - 19:29 #3
Det virker ikke
Avatar billede eagleeye Praktikant
29. juni 2002 - 19:29 #4
hmm du har fået blandet INSERT og UPDATE godt sammen i denne SQL:
strSQL = "Update Tagwall set Where id =" & Request.Querystring("id")  (Emne, Navn, Email, Hjemmeside, Besked) values('"& strEmne &"', '" & strNavn &"', '"& strEmail &"', '"& strHjemmeside &"', '"& strBesked & "')"

Hvis du vil sætte en ny post ind i databasen skal du bruge INSERT INOT, hvis du vil opdater en record som findes i forvejen skal du bruge UPDATE.

Jeg gætter på du vil ligge en ny i database altså INSERT:

strSQL = "INSERT INTO Tagwall (Emne, Navn, Email, Hjemmeside, Besked) values('"& strEmne &"', '" & strNavn &"', '"& strEmail &"', '"& strHjemmeside &"', '"& strBesked & "')"
Avatar billede vendelbjerg Nybegynder
29. juni 2002 - 19:30 #5
egede nej for så kommer der en syntax error så du tar fejl...
Avatar billede eagleeye Praktikant
29. juni 2002 - 19:31 #6
Jeg kan anbefale denne toturail omkring SQL, den er let at gå til:
http://www.w3schools.com/sql/default.asp
Avatar billede vendelbjerg Nybegynder
29. juni 2002 - 19:32 #7
Nej eagleeye jeg vil opdatere en i forevejen skrevet post i databasen (eller alle som som hører til den og den id)
Avatar billede eagleeye Praktikant
29. juni 2002 - 19:33 #8
ok.. Danm jeg tog fejl :)

Så skal du bruge UPDATE. Den bruge sådan her: UPDATE tabel SET kolonne1=nyedata, kolonne2=nyedata2 WHERE ID = xx

2 sekunder kommer med et forslag.
Avatar billede vendelbjerg Nybegynder
29. juni 2002 - 19:35 #9
hmm... eagleeye er det ikke det jeg har ?
Avatar billede eagleeye Praktikant
29. juni 2002 - 19:35 #10
Sådan her:

strSQL = "Update Tagwall set Emne = '"& strEmne &"', Navn = '" & strNavn &"', Email = '"& strEmail &"', Hjemmeside = '"& strHjemmeside &"', Besked = '"& strBesked & "' Where id =" & Request.Querystring("id")
Avatar billede eagleeye Praktikant
29. juni 2002 - 19:37 #11
Nej du har UPDATE tabel WHERE id=xxx (kolonne1,kolonne2) VALUES (nyedata1, nyedata2)
Det sådan en INSERT INTO skal havde data:
INSERT INTO tabel (kolonne1,kolonne2) VALUES (nyedata1, nyedata2)
Avatar billede vendelbjerg Nybegynder
29. juni 2002 - 19:38 #12
ok taktak det virker fino...
Avatar billede eagleeye Praktikant
29. juni 2002 - 19:38 #13
En update:
UPDATE tabel SET kolonne1=nyedata, kolonne2=nyedata2 WHERE ID = xx

Ved Insert:
INSERT INTO tabel (kolonne1,kolonne2) VALUES (nyedata1, nyedata2)

Her kan du se forskellen..
Avatar billede vendelbjerg Nybegynder
29. juni 2002 - 22:01 #14
jep, tak skal du have...
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