Avatar billede chaser64 Nybegynder
24. januar 2006 - 23:24 Der er 3 kommentarer og
1 løsning

Fejl ved sletning af række

Hej Eksperter,
Jeg får følgende fejl når jeg prøver at slette en række:
ADODB.Recordset error '800a0cb3'

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

/xxx.asp, line 496

Min kode ser således ud:
Set rs_basket_line = Server.CreateObject("ADODB.RecordSet")
rs_basket_line.open "Select * From [Shop_Basket] where Site_Id = " & Site_Id & " and Session_Id = " & Session.SessionID & " order by Id DESC", Conn,1,3
Do while not rs_basket_line.eof

Amount = CDbl(rs_basket_line("Amount"))
Price = CDbl(rs_basket_line("Price"))
Price_total_line = Amount * Price
Price_total = Price_total + Price_total_line

rs_basket_line.delete [Linie 496]
rs_basket_line.update

rs_basket_line.MoveNext
Loop
rs_basket_line.close

Det har før virket, men har nu skiftet til min egen MsSql server, brugte også MsSql før, der blot hos Wannafind.

Er der nogen gode råd?

På forhånd mange tak
/Casper
Avatar billede fennec Nybegynder
25. januar 2006 - 08:57 #1
Brug den "rigtige" update/delete syntax. Det virker uanset hvilken database du bruger:

"update dinTabel set kol1='nyVærdi', kol2=321 where id=123"
"delete from dinTabel where id=123"
Avatar billede chaser64 Nybegynder
25. januar 2006 - 09:44 #2
Tak for din kommentar, kan jeg logge dig til at komme med et kode eksempel på det til den Sql sætning jeg har? Så får du naturligvis de 60 point :)
Avatar billede fennec Nybegynder
25. januar 2006 - 10:17 #3
Du skal bare slette de to delete og update linjer, også smide en delete syntax efter loopet som er magen til din select:

Set rs_basket_line = Server.CreateObject("ADODB.RecordSet")
rs_basket_line.open "Select * From [Shop_Basket] where Site_Id = " & Site_Id & " and Session_Id = " & Session.SessionID & " order by Id DESC", Conn,1,3
Do while not rs_basket_line.eof

Amount = CDbl(rs_basket_line("Amount"))
Price = CDbl(rs_basket_line("Price"))
Price_total_line = Amount * Price
Price_total = Price_total + Price_total_line

rs_basket_line.MoveNext
Loop
rs_basket_line.close
conn.execute("Delete From [Shop_Basket] where Site_Id = " & Site_Id & " and Session_Id = " & Session.SessionID)

ps. kræver at conn er et ADODB.Connection objekt.
Avatar billede chaser64 Nybegynder
25. januar 2006 - 10:58 #4
Mange tak, det virker perfekt nu :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel