23. maj 2001 - 18:02
Der er
15 kommentarer og 1 løsning
Update Database
Hælp!! Hvad er forkert her: <% response.buffer = true %> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/ftp.mdb\") strSQL = \"select* from ftps \" set rs = Conn.execute(strSQL) i = Session(\"rate\") p1 = request.form(\"ratet\") p2 = rs(\"vote\") p = p1 + p2 v1= rs(\"votes\") v= v1 + 1 Conn.execute(\"UPDATE ftps SET vote = \" & p &\", votes = \" & v &\" WHERE (ID= \" & i & \") \") Conn.Close Set Conn = Nothing Response.Redirect(\"default.asp\") %>
Annonceindlæg fra Computerworld
Jeg får denne fejl: Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\' [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen. /warezftp/Warez FTP folder/Warez FTP/vote2.asp, linje 12
hvilken type er vote og votes, er de tal begge to?
altså type i databasen mente jeg.
hvis det begge er tal er det godt nok, det du har skrvet. Det er bare ikke altid overflødige paranteser og for mange mellemrum er godt prøv derfor Conn.execute(\"UPDATE ftps SET vote=\"&p&\", vores=\"&v&\" WHERE id=\"&i)
bare se bort fra min kommentar, den virker alligevel ikke
hvad men noget i retning af (\"UPDATE ftps SET (vote = \" & p &\", votes = \" & v &\") WHERE ID= \" & i)
tofte=> Ja, vote og votes er begge to tal (Også i databasen)
Jeg har prøvet begge jeres forslag!! Men uden held. Den kommer med samme fejl. Jeg prøvede også at skrive variablerne ud, og de var all tal!
Prøv \"UPDATE ftps SET (vote = \" & cInt(p) &\", votes = \" & cInt(v) &\") WHERE ID= \" & cInt(i)
demojoe=> Det virkede ikke :-(
er det samme fejl du bliver ved md at få? hvilke felt typer har du valgt da du lavede din database?
følgende virker hos mig <% response.buffer = true %> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"ringz.mdb\") strSQL = \"select * from ftps \" set rs = Conn.execute(strSQL) i = cint(Session(\"rate\")) p1 = cint(request.form(\"ratet\")) p2 = rs(\"vote\") p = p1 + p2 v1= rs(\"votes\") v= v1 + 1 SQL=\"UPDATE ftps SET vote = \" & p &\", votes = \" & v &\" WHERE ID= \" & i Conn.execute(SQL) Conn.Close Set Conn = Nothing %>
hov jeg glemte vist at sætte dine værdier ind. Hvis ovenstående skal du huste at bytte databasenavnet ud, og sættet Response.Redirect(\"default.asp\") ind til slut.
den dovne programmør = mig ville nok nøjes med at skrive, så sparrer du også et opslag, og en masse tid på at skrive. <% response.buffer = true %> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db/ftp.mdb\") i = cint(Session(\"rate\")) Conn.execute(\"UPDATE ftps SET vote = vote+\"&cint(request.form(\"ratet\"))&\", votes = votes+1 WHERE ID= \" & i) Conn.Close Set Conn = Nothing Response.Redirect(\"default.asp\") %>
Mange tak tofte!! Den dovne programmør hjalp mig meget!! Jeg havde slet ikke tænkt at man kunne skrive det sådanne!! Igen mange tak :-)
Kurser inden for grundlæggende programmering