23. oktober 2004 - 20:43
Der er
30 kommentarer og 1 løsning
Udskriv 5 hyppigste poster
Hej Eksperter... Jeg ville bare høre, hvordan man plusser ind i en database? Altså +1 til kolonnen "favo", hvor "id2" = request.querystring("id") (hvordan det nu er man skriver det?) fra tabellen favoritter. Håber I kan hjælpe! Venlig hilsen W13
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
23. oktober 2004 - 20:44
#1
Undskyld titlen... Men den beskriver det, jeg skal bruge den til!
23. oktober 2004 - 20:48
#2
UPDATE tabel SET felt = felt + 1 WHERE id = 1
23. oktober 2004 - 21:03
#3
Det virker ikke... Hvad gør jeg galt her: <% set conn = server.createobject("adodb.connection") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../admin/db/database.mdb") conn.open strDSN UPDATE [favorit] SET antal = antal + 1, id2 = '"& request.querystrin("id") &"' WHERE id = '"& request.querystring("id") & "' conn.execute(sql) %> _______________________________________ Den siger "Expected End of statement"
23. oktober 2004 - 21:09
#4
Der mangler en " tilsidst i linjen, så det bliver & "'"
23. oktober 2004 - 21:14
#5
Desværre... Jeg får stadig samme fejl...
23. oktober 2004 - 21:17
#6
hmm ja det overså jeg lige ;) du skal også skriver det sådan her så du ligger det ind i en variable sql = "UPDATE [favorit] SET antal = antal + 1, id2 = '"& request.querystrin("id") &"' WHERE id = '"& request.querystring("id") & "'" Er Id2 io id tal kolonner skal du ikke hvade ' omkring med mindre du bruger mySQL.
23. oktober 2004 - 21:49
#7
Så virker det vist nogenlunde... Men nu er der et nyt problem... Jeg rettede lidt i koden, sådan at flere querystrings blev gemt... En af disse querystrings hed "link" og indeholdt naturligvis et link... Men det så får jeg fejl... Ka' det have noget at gøre med skråstregerne, kolonnet eller punktummerne? Og hvad kan gøres, får at den alligevel kan gemme dette? (
http://www.miniclip.com/bushshootout.htm )
23. oktober 2004 - 22:39
#8
"Syntax error in update statement" sql = "UPDATE [favorit] SET antal = antal + 1, id2 = "& request.querystring("id") &", link = '"& request.querystring("link") &"', picture = '"& request.querystring("picture") &"', WHERE id2 = "& request.querystring("id") & ""
23. oktober 2004 - 22:49
#10
Hmmm... Jeg prøvede lige at fjerne alle specialtegn, og den gav mig alligevel den fejl...
23. oktober 2004 - 22:51
#11
Hvilken fejl får du?
23. oktober 2004 - 22:52
#12
Microsoft JET Database Engine error '80040e14' Syntax error in UPDATE statement. /web-gamez/spilprofil.asp, line 12
23. oktober 2004 - 22:54
#13
Prøv at udskrive sql i stedet for udføre den så kan det være lettere at se syntax fejl. sql = "UPDATE [favorit] SET antal = antal + 1, id2 = "& request.querystring("id") &", link = '"& request.querystring("link") &"', picture = '"& request.querystring("picture") &"', WHERE id2 = "& request.querystring("id") & "" Response.Write sql Response.End
23. oktober 2004 - 23:05
#14
UPDATE [favorit] SET antal = antal + 1, id2 = 1, link = 'http//wwwminiclipcom/bushshootouthtm', picture = 'bushshootoutgamesmallicongif', WHERE id2 = 1
23. oktober 2004 - 23:08
#15
ok, der er kommet et komma ind før WHERE det må der ikke være så prøv at fjerne det komma der er før WHERE og slet de to ekstra linjer om det så virker
23. oktober 2004 - 23:10
#16
Microsoft VBScript runtime error '800a01a8' Object required: '' /web-gamez/spilprofil.asp, line 12
23. oktober 2004 - 23:12
#17
Så prøv at vise linjerne, det skulle ikke gøre det.
23. oktober 2004 - 23:17
#18
Hvilke linjer?
23. oktober 2004 - 23:17
#19
(Altså linje tolv er update-sætningen...)
23. oktober 2004 - 23:18
#20
Ok så prøv at vise den
23. oktober 2004 - 23:19
#21
Sådan her: sql = "UPDATE [favorit] SET antal = antal + 1, id2 = "& request.querystring("id") &", link = '"& request.querystring("link") &"', picture = '"& request.querystring("picture") &"' WHERE id2 = "& request.querystring("id") & "" Eller skal jeg udskrive sætningen?
23. oktober 2004 - 23:33
#22
hmm det forstår jeg ikke helt, det eneste object er request.querystring og det er skrevet rigtigt så vidt jeg kan se.
24. oktober 2004 - 12:32
#23
Hvorfor vil du opdatere id2 ? Det må nødvendigvis være det samme, ellers kan du jo ikke bruge det i where kriteriet
24. oktober 2004 - 12:35
#24
Ja, det er sandt... Hmmm... Det kom nok af, at jeg senere ville ændre koden til, at hvis der ikke var nogen i forvejen, skulle den oprettes... Ka' i hjælpe med det, tror i, så det virker? Altså den skal kun opdatere, hvis der allerede er en post, hvor "Id2" = querystringen "Id", og ellers skal den oprette posten...
24. oktober 2004 - 15:11
#25
Der er to metoder: 1. Lav en select som henter id2=querystringn. Er recordsetet tomt så findes id'et ikke og man laver en Insert ellers laves en update. 2. Lav en Update og brug et tjek på recordaffected fra connection hvis det er 0 så findes ID'et ikke og man laver så en Insert.
24. oktober 2004 - 15:51
#26
Ok, endnu engang må jeg nok indrømme at jeg er temmelig (totalt) spasser til ASP... Er det noget i denne stil: _________________________________ <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/database.mdb") strSQL = "SELECT * FROM [favorit] where [id2] = "& request.querystring("id") &"" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then sql = "UPDATE [favorit] SET [antal] = [antal] + 1, [link] = '"& request.querystring("link") &"', [picture] = '"& request.querystring("picture") &"' WHERE [id2] = "& request.querystring("id") &"" Set rs = myConn.Execute(strSQL) Else ' Hvis der ikke er skrevet noget rs.Open strSQL, strDSN, 2, 2 rs.AddNew rs("link") = Request.Querystring("link") rs("picture") = Request.Querystring("picture") rs("id2") = Request.Querystring("id") rs.Update 'lukker pænt igen rs.Close set rs = Nothing End If myConn.Close Set Conn = Nothing %>
24. oktober 2004 - 16:24
#27
Ja det er det, dog skal du lige havde styr på vaiable navne sql og strSQL så de rigtige bliver udført. Jeg ville lave det sådan her: <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/database.mdb") strSQL = "SELECT * FROM [favorit] where [id2] = "& request.querystring("id") &"" Set rs = myConn.Execute(strSQL) If Not rs.EOF Then sql = "UPDATE [favorit] SET [antal] = [antal] + 1, [link] = '"& request.querystring("link") &"', [picture] = '"& request.querystring("picture") &"' WHERE [id2] = "& request.querystring("id") &"" myConn.Execute(SQL) Else ' Hvis der ikke er skrevet noget sql = "INSERT INTO (link, picture, id2) VALUES (" sql = sql & "'" & Request.Querystring("link") & "', " sql = sql & "'" & Request..Querystring("picture") & "', " sql = sql & Request.Querystring("id") sql = sql & ")" myConn.Execute(sql) End If myConn.Close Set Conn = Nothing %>
24. oktober 2004 - 17:02
#28
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. /web-gamez/spilprofil.asp, line 28
24. oktober 2004 - 17:03
#29
ok, der mangler tabel angivelse så prøv at rette: sql = "INSERT INTO (link, picture, id2) VALUES (" Til denne: sql = "INSERT INTO [favorit] (link, picture, id2) VALUES ("
24. oktober 2004 - 17:06
#30
YES! Jaaaaa... :-) Det virker... Juhu... Nu har du jo hjulpet mig en del Eagleeye, så pointene må gå til dig...
24. oktober 2004 - 17:07
#31
Ok :) Så laver jeg lige et svar.
Kurser inden for grundlæggende programmering