Newsgroup: it.lavoro.professioni.webmaster
Titolo: (ot) asp

scusate ma sto perdendo la salute dietro ad un errore...
allora, credo che molti di voi riconosceranno al volo il codice.
ditemi, vi prego, dove sbaglio.
ogni volta che la macchina interpreta il seguente pezzo mi da questo errore:
"Microsoft Cursor Engine (0x80004005)
Key column information is insufficient or incorrect. Too many rows were
affected by update"
si ferma alla riga recordset.update....
sql="select modalita_pagamento from carrello where
id_cliente='"&session("id_cliente") &"' and
modalita_pagamento='non_ancora_scelta'"
recordset.open modalita, connessione
if recordset.eof=false and rs.bof=false then
for i=1 to recordset.recordcount
recordset.update "modalita_pagamento", request.form("modalita_pagamento")
recordset.movenext
next
end if
recordset.close
ma se poi faccio il refresh della pagina, allora va tutto a posto!!!!
chi mi sa spiegare che succede?
pippo
--------------------------------
Inviato via 
http://usenet.libero.it

allora, credo che molti di voi riconosceranno al volo il codice.
io no, mi spiace.  potresti riscriverlo indentato e commentato e
spiegare cosa vuoi fare?
crei una stringa sql che poi non usi mai, come mai?
nel codice una volta chiami il recordset recordset e una volta rs.
boh, mi pare che usi un modo un po' troppo arzigogolato di fare una
cosa semplice.
-- 
dipende.

 scusate ma sto perdendo la salute dietro ad un errore...
aaaAAAAARRRRGGGGHHHHHHH! La perdiamo pure noi a seguire il tuo
ragionamento
Perche' non fare semplicemente un
strSQL = "UPDATE nome_tabella SET modalita_pagamento = '" &
request.form("modalita_pagamento") & "' WHERE id_cliente =
session("id_cliente")"
??
Da quando in qua si aggiornano dei campi in quel modo che hai
illustrato chiamando robe che non hai mai creato/istanziato???
Claudio
P.s.: sempre che tu non voglia fare qualcosa di diverso da quello che
si evince dal tuo post.....

 session("id_cliente")"
già, perchè no?
in effetti bastava usare update di sql!
scusatemi, mi sono abituato ad usare i metodi dell'oggetto recordset.
e alle 1:30 del mattino ero troppo fossilizzato su quel modo di procedere e
sulla peculiarità dell'errore per trovare una soluzione sempie ed elegante.
grazie molte, ora funziona!


 sempie ed elegante.
non si usano le cose per abitudine... e cmq quel codice era completamente
sbagliato... spero che tu non lo faccia per abitudine:))
-- 
Lino Mari [mod - it.economia.e-commerce]
http://www.ebow.it
 - e-business on web!
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - d2D004
Gli iperlink sovvertono la gerarchia.

 sbagliato... spero che tu non lo faccia per abitudine:))
sei tu che ti sbagli.
le cose si usano per abitudine: si usa asp piuttosto che php, si usano le
tabelle piuttosto dei layer. e ognuno di noi alla fine routinizza una serie
di cose.
e io ho preso l'abitudine, sicuramente per alcune cosa sbagliata, ma per
altre utilissima, di utilizzare molto l'oggetto recordset.
il codice originale era questo:
'modalita="select modalita_pagamento from carrello where
id_cliente='"&session("id_cliente")&"' and
modalita_pagamento='non_ancora_scelta'"
'if rs.eof=false and rs.bof=false then
'for i=1 to rs.recordcount
'rs.update "modalita_pagamento", request.form("modalita_pagamento")
'rs.movenext
'next
'end if
'rs.close
e non č "completamente sbagliato", tant'č che per mille altre volte che ho
utilizzato procedure simili come lo script seguente:
		sql="select id_cliente, id_articolo, descrizione, marca, prezzo, quantita,
modalita_pagamento from carrello where
id_articolo='"&request.QueryString("id")&"' and
id_cliente='"&session("id_cliente")&"' and
modalita_pagamento='non_ancora_scelta'"
		rs.open sql, cn
 
			if rs.recordcount=0 then
 
				rs.addnew "id_cliente" , session("id_cliente")
				for i=0 to 5
				rs.update arcar(i), arcar1(i)
				next
			else
				rs.update "id_cliente" , session("id_cliente")
				for i=0 to 5
				rs.update arcar(i), arcar1(i)
				next
 
			end if
		rs.close
funziona egregiamente. certo; l'azione che compie č completamente dfferente
(aggiorna o aggiunge righe, mentre lo script sopra aggiorna una colonna), ma
se ragioni a "recordset", non č poi tanto differente.
ti dirň di piů. l'errore che dava scompariva una volta fatto il refresh
della pagina.
in ogni caso l'errore c'era, č innegabile.
quindi grazie ancora
:)



Ecco... qui diciamo che sei un attimo tracimato
Claudio

 Claudio
siamo in 2 allora.



Uno degli atteggiamenti piu' azzeccati per ottenere aiuto in futuro.
My best compliments
Claudio

 Claudio
continuiamo ad essere in due.



No bello, io non so fare tante cose e moltissime altre le ignoro, ma gli
script come quello postato da te non li ho mai scritti.
E guarda che sei tu che hai ammesso di fare le cose per abitudine. Non e'
colpa nostra se bisognerebbe ragionarci su, invece
Claudio


ora sei rimasto solo



O forse lo sei rimasto tu
Claudio