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 %>
Annonceindlæg fra Cognizant
AI er ikke problemet. Eksekvering er.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
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
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\">
Hvad er fejlmeddelelsen eller hvad sker der som er forkert ??
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)
Jeg har på fornemmelsen at det er et \",\" eller en \"\'\" et eller andet sted der sidder forkert? Jeg kan bare ikke finde dejlen...
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
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 !!!!
Det ville du også opdage hvis du udskrev SQL strengen som jeg forslog sidst i mit svar :-) -Per
Kurser inden for grundlæggende programmering