webForumDet fria alternativet

update sats....

ASP

17 svar · 324 visningar · startad av jobke

Medlem sedan jan. 200132 inlägg
Frågan#1

Blir tokig snart, jag får inte det att uppdatera sig.
Jag har kollat så att jag får med mig värderna och det får jag, jag kan även lägga till nya poster men jag kan inte uppdatera, ser nån nått fel?
Jag har suttit och ändrat så många gånger att jag börjar bli blind på koden :)

<!-- #include file="adovbs.inc" -->

<%response.buffer=true%>
<%dim conn, rs, sql

set conn = server.createobject("adodb.connection")
conn.open "ahead.nu-news"
set rs = Server.CreateObject("ADODB.recordset")
sql="select * from klubben where klubbId=" & Request("id") & ";"

rs.open sql, conn, adOpenStatic, adLockOptimistic

rs("rubrik")=request("nyrubrik")
rs("text")=request("nytext")
rs("datum")=date

rs.update
rs.Close
conn.Close
Response.Redirect("klubben.asp")

%>

Medlem sedan feb. 20022 594 inlägg
#2

Får du något felmeddelande?

Medlem sedan apr. 20021 203 inlägg
#3

Det är kanske inte det som är felet men jag brukar använda RecSet.AddNew ...

:)

Medlem sedan jan. 200132 inlägg
#4

Men när jag använder rs.addnew så blir det bara en ny post.

felmeddelandet är:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'klubbId=2";'.

/skickaskrivinklubben.asp, line 12

Medlem sedan feb. 20022 594 inlägg
#5

Trexter.com: Han/hon vill uppdatera, inte lägga till ett nytt fält.

Medlem sedan apr. 20021 203 inlägg
#6

Ekström: Sant.

:)

Medlem sedan jan. 200132 inlägg
#7

Jepp men jag får det inte att funka. Har även försökt med en update sats men inte heller det funkade.
Jag blir inte klok på vda felet är i satsen.

Medlem sedan feb. 20022 594 inlägg
#8

Testa att byta ut din nuvarande SQL-sats mot:
sql="select * from klubben where klubbId=" & Request("id") & ""

Medlem sedan jan. 200132 inlägg
#9

Gjorde det, får fel:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'klubbId=2"'.

/skickaskrivinklubben.asp, line 12

Medlem sedan apr. 20021 203 inlägg
#10

Testa att skriva ut SQL-frågan...

:)

Medlem sedan juni 200032 967 inlägg
#11

Byt:

set conn = server.createobject("adodb.connection") 
conn.open "ahead.nu-news" 
set rs = Server.CreateObject("ADODB.recordset") 
sql="select * from klubben where klubbId=" & Request("id") & ";" 

rs.open sql, conn, adOpenStatic, adLockOptimistic 

rs("rubrik")=request("nyrubrik") 
rs("text")=request("nytext") 
rs("datum")=date 

rs.update 
rs.Close 
conn.Close

mot:

set conn = server.createobject("adodb.connection") 
conn.open "ahead.nu-news" 
sql = "UPDATE klubben SET rubrik = '" & request("nyrubrik") & "', [text] = '" & request("nytext") & "', [datum] = now()"
conn.execute sql,,128
conn.Close 
Set conn=nothing

Markera annars vilken rad i koden felmeddelandet pekar på.

Mvh,

Medlem sedan jan. 200132 inlägg
#12

Hm, jag ut detta från response.write(sql)
select * from klubben where klubbId=2"

Medlem sedan juni 200032 967 inlägg
#13

Det verkar som att du har innehållet 2" i Request("id"). Citationstecknet ska inte vara där.

Medlem sedan jan. 200132 inlägg
#14

@nders, jag testade din kod och som glad i hågen ändrade det ju alla poster :) Blev så ivrig att jag inte kollade att jag inte skickade med ett villkor :) Tur man gör backuper :)
Nu vill jag skicka med ett villkor och skriver:
sql = "UPDATE klubben SET rubrik = '" & request("nyrubrik") & "', [text] = '" & request("nytext") & "', [datum] = now() where klubbId=" & Request("id")

Jag får samma fel:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'klubbId=2"'.

/skickaskrivinklubben.asp, line 13

Medlem sedan juni 200032 967 inlägg
#15

Jag glömde ju WHERE-villkoret, jag är hemskt ledsen! :r

Du får se till att reda ut var citationstecknet kommer ifrån. Det ligger i request("id"). Var får du det i från? Hur ser ditt formulär ut?

Mvh,

Medlem sedan jan. 200132 inlägg
#16

Jag skickar med det från ett dolt fält från en annan sida:
<input type=hidden name=id value=<%=rs("klubbId")%>">

Medlem sedan feb. 20022 594 inlägg
#17

<input type=hidden name=id value="<%=rs("klubbId")%>">

Du hade en dubbelfnutt i slutet och ingen i början.

Medlem sedan jan. 200132 inlägg
#18

Grymt, som sagt man blir blind av sin kod....
Usch då, nästan lite pinsamt :r

Tusen tack!
:birp

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)