T timedia Medlem sedan maj 2001 420 inlägg Trådstart 28 okt. 2001 16:26 #1 Har precis fått konto på Space2u. (Dom kör ChilisoftASP) Koden nedan har fungerad förut men ger nu följande fel:
ADODB.Recordset.1 error '80004005'
SQLState: 34000
Native Error Code: 0
[INTERSOLV][ODBC SequeLink driver]Statement with cursor named in this statement's CURRENT-OF-CURSOR clause is not a SELECT FOR UPDATE.
/admin/redfst2.asp, line 22
Linje 22= RecSet.Update
Hur får jag nedanstående att fungera?
Set RecSet = Server.CreateObject("ADODB.Recordset")
Uppdatera = "SELECT * FROM Nyheter WHERE NyhetsID = " & Request.Form("AD") & " "
RecSet.Open Uppdatera, Connect, adOpenStatic, adLockOptimistic
RecSet("Rubrik") = Request.Form("rubrik")
RecSet("Bild") = Request.Form("bild")
RecSet("Rubrikbild") = Request.Form("rubrikbild")
RecSet("Artikel") = Request.Form("artikel")
RecSet("Brodtext1st") = Request.Form("brodtext1st")
RecSet.Update
RecSet.Close
Set Recordset = Nothing
Connect.Close
Set Connect = Nothing %>
@nders Medlem sedan juni 2000 32 967 inlägg Hej!
Jag skulle vilja ersätta hela det kodstycket du visade ovan, med detta:
strSQL = "UPDATE Nyheter SET Rubrik = '" & Request.Form("rubrik") & ", Bild = '" & Request.Form("bild") & ", Rubrikbild = '" & Request.Form("rubrikbild") & "', Artikel = '" & Request.Form("artikel") & "', Brodtextlist = '" & Request.Form("brodtext1st") & "' WHERE NyhetsID = " & Request.Form("AD")
Connect.Execute strSQL, , 128
Connect.Close
Set Connect = Nothing
Se om det fungerar bättre att göra på detta sätt, som är bättre på de flesta sätt.
Eftersom jag vet att frågan kommer att dyka upp så passar jag på att nämna att argumentet 128 som jag ger till Connect.execute ovan, specificerar att inget recordset ska skapas. Och det ska det ju inte heller, eftersom vi inte ska hämta någonting.
Mvh,
J jorgen Medlem sedan feb. 2001 2 412 inlägg Hej!
timedia, det går inte köra sådan kod på ChilliASP. Gör som @nders sade och kör ren SQL istället.
mvh Jörgen
T timedia Medlem sedan maj 2001 420 inlägg Tack, nu får jag detta fel:
ADODB.Connection.1 error '80004005'
SQLState: 07001
Native Error Code: -3010
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/admin/redfst2.asp, line 11
...och det som genererar fel är: linje 11 är Connect.Execute strSQL, , 128
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=;Password"
strSQL = "UPDATE Nyheter SET Rubrik = '" & Request.Form("rubrik") & ", Bild = '" & Request.Form("bild") & ", Rubrikbild = '" & Request.Form("rubrikbild") & "', Artikel = '" & Request.Form("artikel") & "', Brodtextlist = '" & Request.Form("brodtext1st") & "' WHERE NyhetsID = " & Request.Form("AD")
Connect.Execute strSQL, , 128
Connect.Close
Set Connect = Nothing
%>
T timedia Medlem sedan maj 2001 420 inlägg HURRA! Jag fixade det. Ett litet skrivfel i Anders kod Skulle vara Brodtext1st - inte Brodtextlist.
Tack för hjälpen!
T timedia Medlem sedan maj 2001 420 inlägg Trodde detta funkade, men upptäckte ett nytt problem
strSQL = "UPDATE Nyheter SET Rubrik = '" & Request.Form("rubrik") & ", Bild = '" & Request.Form("bild") & ", Rubrikbild = '" & Request.Form("rubrikbild") & "', Artikel = '" & Request.Form("artikel") & "', Brodtext1st = '" & Request.Form("brodtext1st") & "' WHERE NyhetsID = " & Request.Form("AD")
Connect.Execute strSQL, , 128
Connect.Close
Set Connect = Nothing
Nu skriver den " , Bild = " i rubriken när jag uppdaterar en nyhet!?.
I icaaq Medlem sedan okt. 2000 5 273 inlägg strSQL = "UPDATE Nyheter SET Rubrik = '" & Request.Form("rubrik") & "[b]'[/b], Bild = '" & Request.Form("bild") & "', Rubrikbild = '" & Request.Form("rubrikbild") & "[b]'[/b], Artikel = '" & Request.Form("artikel") & "', Brodtext1st = '" & Request.Form("brodtext1st") & "' WHERE NyhetsID = " & Request.Form("AD")
Connect.Execute strSQL, , 128
Connect.Close
Set Connect = Nothing
du hade glömt lite '
T timedia Medlem sedan maj 2001 420 inlägg Tack Isaaq. Nu funkar det (det verkar så i alla fall )