Avatar billede sune.jakobsen Nybegynder
28. maj 2001 - 17:58 Der er 7 kommentarer og
1 løsning

Find X antal fejl i koden...

Jeg kan ikke få følgense kode til at virke
Hvad er der galt...
Det er det input der kommer fra formen (over stjernerne) der skal erstatte en af de nuværende datarækker i databasen...

<form method=\'post\' action=\'updok.asp\' name=\'tilfoej\'>
<input type=\'text\' name=\'movieid\' size=\'6\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>

<input type=\"submit\" value=\"Ændre film\">

***********************************

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

strSQL = \"update program set \"
strSQL = strSQL & \"movieid = \'\" & request.form(\"movieid\") & \"\', \"
strSQL = strSQL & \"billed = \'\" & request.form(\"billed\") & \"\' , \"
strSQL = strSQL & \"titel = \'\" & request.form(\"titel\") & \"\' , \"
strSQL = strSQL & \"beskrivelse = \'\" & request.form(\"beskrivelsed\") & \"\' , \"
strSQL = strSQL & \"hverdagsspilletider = \'\" & request.form(\"hverdagsspilletider\") & \"\' , \"
strSQL = strSQL & \"weekendspilletider = \'\" & request.form(\"weekendspilletider\") & \"\' , \"
strSQL = strSQL & \" Where databaseID = \" & request.form(\"databaseID\") & \"\"

Conn.Execute(strSQL)%>

<%
Conn.Close
Set Conn = Nothing
%>
Avatar billede perla Nybegynder
28. maj 2001 - 18:14 #1
Prøv dette

<% If request.Form(\"tilfoej\") = \"\" Then %>
<form method=\'post\' action=\'updok.asp\' name=\'tilfoej\'>
<input type=\'text\' name=\'movieid\' size=\'6\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>
<input type=\'text\' name=\'movieid\' size=\'60\'>

<input type=\"submit\" value=\"Ændre film\">

***********************************

<%
Else
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"/cgi-bin/program.mdb\")
Conn.Open DSN

strSQL = \"update program set \"
strSQL = strSQL & \"movieid = \'\" & request.form(\"movieid\") & \"\', \"
strSQL = strSQL & \"billed = \'\" & request.form(\"billed\") & \"\' , \"
strSQL = strSQL & \"titel = \'\" & request.form(\"titel\") & \"\' , \"
strSQL = strSQL & \"beskrivelse = \'\" & request.form(\"beskrivelsed\") & \"\' , \"
strSQL = strSQL & \"hverdagsspilletider = \'\" & request.form(\"hverdagsspilletider\") & \"\' , \"
strSQL = strSQL & \"weekendspilletider = \'\" & request.form(\"weekendspilletider\") & \"\' , \"
strSQL = strSQL & \" Where databaseID = \" & request.form(\"databaseID\") & \"\"

Conn.Execute(strSQL)%>

<%
Conn.Close
Set Conn = Nothing
End If
%>

Prøv at indsætte

Response.write strSQL
Response.end

lige før Con.execute så kan du se hvad strengen indeholder.

-Per
Avatar billede prof2 Nybegynder
28. maj 2001 - 18:16 #2
Skal formen ikke se ud lidt som dette ??

<form method=\'post\' action=\'updok.asp\' name=\'tilfoej\'>
<input type=\'text\' name=\'movieid\' size=\'6\'>
<input type=\'text\' name=\'billed\' size=\'60\'>
<input type=\'text\' name=\'titel\' size=\'60\'>
<input type=\'text\' name=\'beskrivelse\' size=\'60\'>
<input type=\'text\' name=\'hverdagsspilletider\' size=\'60\'>
<input type=\'text\' name=\'weekendspilletider\' size=\'60\'>
<input type=\"submit\" value=\"Ændre film\">
Avatar billede prof2 Nybegynder
28. maj 2001 - 18:17 #3
Hvad er fejlmeddelelsen eller hvad sker der som er forkert ??
Avatar billede sune.jakobsen Nybegynder
28. maj 2001 - 23:14 #4
til prof2: Selvfølgelig skal den det, det gør den også det var bare en fejl far min side UNDSKYLD!!!
Og fejlkoden er:

Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen.

/update/updok.asp, linje 29 (Conn.Execute(strSQL)%>)

Det skal lige siges at formen er i et dokument (updform.asp) og programkoden i et andet (updok.asp)


Avatar billede sune.jakobsen Nybegynder
28. maj 2001 - 23:29 #5
Jeg har på fornemmelsen at det er et \",\" eller en \"\'\" et eller andet sted der sidder forkert? Jeg kan bare ikke finde dejlen...
Avatar billede elisabeth Nybegynder
29. maj 2001 - 10:02 #6
Der er noget galt i den sidste linje dine sidste \"\" mangler en \'eller så er der en \" for meget

strSQL = strSQL & \" Where databaseID = \" & request.form(\"databaseID\") & \"\"

Jeg har selv en update SQL-streng, hvor jeg har lavet dbid om til en sessionsvariable så jeg kan bruge den under hele session fra side til side:

strSQL = \" UPDATE person SET \"
strSQL = strSQL & \"relationsnr = \" & relation & \", \"
strSQL = strSQL & \"fornavn = \'\" & fornavn & \"\', \"
strSQL = strSQL & \"mellemnavn = \'\" & mellemnavn & \"\', \"
strSQL = strSQL & \"efternavn = \'\" & efternavn & \"\', \"
strSQL = strSQL & \"vejnavn = \'\" & vejnavn & \"\', \"
strSQL = strSQL & \"husnr = \'\" & husnr & \"\', \"
strSQL = strSQL & \"postnr = \" & postnr & \", \"
strSQL = strSQL & \"telefonnr = \" & telefonnr & \", \"
strSQL = strSQL & \"mobilnr = \" & mobilnr & \", \"
IF session(\"filnavn\") <> \"\" THEN
        strSQL = strSQL & \"filnavn = \'\" &  session(\"filnavn\") & \"\', \"
END IF
strSQL = strSQL & \"Email = \'\" & Email & \"\', \"
strSQL = strSQL & \"beskrivelse = \'\" & beskrivelse & \"\', \"
strSQL = strSQL & \"interesser = \'\" & interesser & \"\'\"
strSQL = strSQL & \" WHERE DBID = \" & session(\"id\")
response.write strSQL
objConn.Execute(strSQL)
session(\"filnavn\") = \"\"
objConn.close
SET objConn = Nothing

mvh Elisabeth
Avatar billede sune.jakobsen Nybegynder
29. maj 2001 - 15:58 #7
Jeg har selv løst problemet, det var det sidste komma i sætningen:

strSQL = strSQL & \"weekendspilletider = \'\" & request.form(\"weekendspilletider\") & \"\' , \"

Der ikke skulle være der, så jeg håber det er i orden at jeg tager piontene selv ellers må i lige sige til !!!!
Avatar billede perla Nybegynder
29. maj 2001 - 23:37 #8
Det ville du også opdage hvis du udskrev SQL strengen som jeg forslog sidst i mit svar :-)

-Per
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