20. november 2002 - 17:22
Der er
7 kommentarer og 2 løsninger
Insert into med reference til ID
Er der nogen der kan give mig svaret på hvad der er galt i nedenstående. ID bliver sendt med fra anden side og så skal der sættes tekst ind i de to felter. strSQL = "insert into konkurrence (Svarkon, Vinder, ID)" strSQL = strSQL & "'" & Request.Form("Svarkon") & "')" strSQL = strSQL & "'" & Request.Form("Vinder") & "')" strSQL = strSQL & Where ID=" & Request.Querystring("ID") & " Response.Write(strSQL)
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?
20. november 2002 - 17:37
#1
Hvilken fejl får du? Men prøv lige med følgende istedet for: SQL = "INSERT INTO konkurrence(Svarkon, Vinder)" SQL = SQL & " VALUES (" SQL = SQL & "'" & Request.ServerVariables("Svarkon") & "', " SQL = SQL & "'" & Request.ServerVariables("Vinder") & "', " SQL = SQL & ") WHERE ID=" & & Request.Querystring("ID") Jeg har her taget udgangspunkt i at dine felter Svarkon og Vinder er af typen tekst i din database. Hvis det ikke virker må du lige sige til.
20. november 2002 - 17:38
#2
Må man spørge hvorfor du siger: Response.Write(strSQL) istedet for f.eks. Conn.Execute(SQL) Med din response.write kan du ikke få udført andet end at få udskrevet hvad sql indeholder.
20. november 2002 - 17:44
#3
Den med Response.Write(strSQL) må være en tanketorsk. Når jeg bruger det du har skrevet får jeg følgende fejl: /ramsoe/safileup/svarkonkurrence.asp, line 22, column 28 SQL = SQL & ") WHERE ID=" & & Request.Querystring("ID") Det her er linket til filen: svarkonkurrence.asp?ID=16
20. november 2002 - 17:46
#4
Jeg fjernede lige det ekstra & du havde indsat. Det hjalp på ID med nu melder den fejl i Conn.Execute(strSQL). Der er ikke angivet nogen kommandotekst for kommandoobjektet.
20. november 2002 - 17:50
#5
Her er hele koden, måske hjælper det lidt på det: <% if request.servervariables("REQUEST_METHOD") = "POST" then 'Tjecker om felterne er udfyldt if (Request.Form("Svarkon") <> "" AND Request.Form("Vinder") <> "") then SQL = "INSERT INTO konkurrence(Svarkon, Vinder)" SQL = SQL & " VALUES (" SQL = SQL & "'" & Request.ServerVariables("Svarkon") & "', " SQL = SQL & "'" & Request.ServerVariables("Vinder") & "', " SQL = SQL & ") WHERE ID=" & Request.Querystring("ID") Conn.Execute(SQL) Response.Write("<strong><font color='red'>Du har sendt svaret og vinder på konkurrencen!</font></strong>") Conn.Close set Conn = nothing else Response.Write("<strong><font color='red'>Du mangler at udfylde felter!</font></strong>") end if end if %> <FONT COLOR="#000080"><H3 ALIGN="CENTER">OPDATERE KONKURRENCE</H3></FONT> <br><br><br> <b>Opdaterer konkurrencen som alle kan se.</b><br> Her skriver du den besked, som kan ses på konkurrencesiden.<br> <hr size="0" width="98%" align="center" color="#000000"> <form method="POST" action="svarkonkurrence.asp?ID=<%=Request.Querystring("ID")%>"> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr valign="top"> <td valign="middle" align="left" colspan="2"><br>Opdater venligst oplysningerne i følgende felter:<strong></td> </tr> <tr valign="top"> <td align="right"><p><b>Svar konkurrence: </b></td> <td valign="middle" align="left"> <input type="text" name="Svarkon" size="40"></td> </tr> <tr valign="top"> <td align="right"><p><b>Vinder/afhentning: </b></td> <td valign="middle" align="left"> <textarea rows="5" name="Vinder" cols="35"></textarea> </td> <tr> <td><p align="center"><br> <input type="submit" value="Opdater" name="Opdater"> <input type="button" value="Annuller" name="Annuller" onClick="java script:location.href='oversigtkonkurrencer.asp'"></p></td> </tr> </table> </form>
20. november 2002 - 18:06
#6
Hehe ja ok, det er mig der har lavet en brøler :-) Prøv med dette istedet for: SQL = "INSERT INTO konkurrence(Svarkon, Vinder)" SQL = SQL & " VALUES (" SQL = SQL & "'" & Request.Form("Svarkon") & "', " SQL = SQL & "'" & Request.Form("Vinder") & "', " SQL = SQL & ") WHERE ID=" & Request.Querystring("ID") Conn.Execute(SQL)
20. november 2002 - 20:54
#7
Når der skal indsættes noget bruger man Insert men hvis data skal ændres/opdateres bruger update. Din sql skal derfor eks. være: SQL = "Update konkurrence" SQL = SQL & " set Svarkon = '" & Request.Form("Svarkon") & "', Vinder = '" & Request.Form("Vinder") & "'" SQL = SQL & " WHERE ID=" & Request.Querystring("ID")
20. november 2002 - 20:56
#8
Nu jeg læser dit spørgsmål igen lyder det til at du også ønsker at indsætte id: SQL = "INSERT INTO konkurrence(Svarkon, Vinder, id)" SQL = SQL & " VALUES (" SQL = SQL & "'" & Request.Form("Svarkon") & "', " SQL = SQL & "'" & Request.Form("Vinder") & "', " SQL = SQL & Request.Querystring("ID") & ")"
20. november 2002 - 22:05
#9
cbp >>> Du har ret i det du siger med update, jeg prøvede i starten med den, men den meldte fejl for mig og det tænkte jeg var fordi der ikke var en værdi i forvejen og derfor måtte jeg bruge insert to i stedet for. Men nu virker update funktionen. I får lov at dele pointne for pfp svar var også rigtigt på det jeg spurgte på. Tak for hjælpen begge to
Kurser inden for grundlæggende programmering