Newsgroup: it.lavoro.professioni.webmaster
Titolo: [mini-OT] errore asp

Buongiorno.
Scusasate l'OT, ma sul NG di asp conosco poca gente mentre qui conosco
qualcuno che so che puo' aiutarmi.
In pratica dopo aver inserito un record in una tabella (stiamo in un db
access) e volendo andare poi a fare il delete di quel record mi esce il
messaggio di errore:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
Errore durante l'eliminazione basata su query. Impossibile trovare la
riga da eliminare.
portale_ial/del_file.asp, line 15 
La cosa assurda e' che il record nella tabella esiste, è (o almeno
sembra) corretto...
Nella query sql io passo l'id per intercettare il recordo in maniera
univoca... e tutto dovrebbe combaciare perfettamente...
Inoltre e' stranissimo il fatto che alcune volte l'errore esce... altre
no...
In entrambi i casi il record esiste....!! :-///
Ma che ca**o succede???
:-))
Ve prego, aiutateme che non ne vengo a capo
Mastro
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

portale_ial/del_file.asp, line 15 
posti la query sql che probabilmente esegui a riga 15?
ial cisl quelli dei corsi?

 posti la query sql che probabilmente esegui a riga 15?
ecco.. appunto... ancora piu' assurdo il fatto che la query e' una
stupidissima:
strSQL = "SELECT * FROM associazioni_files_utenti WHERE
id_associazione=" & cint(request.QueryString("id_associazione"))
ho provato a usare e non usare cint() ma fa lo stesso...
e poi, ripeto, con alcuni record funziona e con altri no...
gneeeeeeeeeee.... :-(


 id_associazione=" & cint(request.QueryString("id_associazione"))
Errore durante l'eliminazione basata su query. Impossibile trovare la
riga da eliminare.
portale_ial/del_file.asp, line 15
ma se fai un select????

e poi, ripeto, con alcuni record funziona e con altri no...
allora, cint non lo devi sicuramente usare perché stai componendo una
*stringa* sql, anche se id_associazione sarà un campo numerico.
poi si parla di query di eliminazione, ma questa è una select...

 ha scritto nel messaggio
news:3c0fe11a35677c22e91...@mygate.mailgate.org...


 no...
non è che ti scappa un reload? perché alla
prima il record c'è, alla seconda non c'è più
perchè lo avrebbe già cancellato.
M.

 ma se fai un select????
Il problema era un po' piu' fine...
Quello che devo fare e' prendere un record, memorizzare dei valori che
vi erano contenuti e che mi servono per delle operazioni e poi
eliminarlo...
Per questo motivo facevo la select sulla tabella, mi prendevo il record,
mi ciucciavo i valori e poi con il metodo delete lo eliminavo...
Ecco a cosa mi serve il select... 
In due passaggi avrei potuto tranquillamente usare il DELETE FROM, ma
poiche' il delete era una necessità che mi veniva a seguito di una
modifica, e provando semplicemente a usare il metodo delete mi
funzionava, l'ho lasciato cosi'...
Solo che soltanto ora ha cominciato a scazzare...
Ok, se non lo accetta perche' e' strutturalmente scorretto mi rassegno,
ma perche' cazzarola a volte funziona e a volte no?
Mahhhh....


 M.
Guarda... sono sicuro che non scappa nulla... 
ho fatto una prova... due record che differiscono SOLO per l'id, che
alla fine e' un contatore... gli altri campi copiati pari pari... uno
funziona e l'altro no...
Assurdo


 versione office 97 o 2000? Perchè sento puzza di conversione del database!
In effetti le nuove versioni di Mdac non supportano access 97 e si ha lo
strano effetto di errori che capitano in maniera pseudo-casuale. Se il tuo
dbase è 97 prova a convertirlo in formato 2000.
Bye
Neapolito

 Assurdo
molto strano allora; leggevo anche l'altro post
e mi sembra concettualmente corretto; il
fatto è che un errore di quel tipo (apparentemente)
inspiegabile capito' anche a me e ricordo
(solo) che era un errore concettuale. Se me lo mandi
per intero, compreso la struttura della tabella, posso
darci un'occhiata.
Altrimenti, giacché l'id lo conosci, aggira il problema
e usa la select per leggere e il delete from per cancellare.

 e usa la select per leggere e il delete from per cancellare.
Ti ringrazio per la disponibilita'... si tratta pero' di una struttura a
portale per gestire files in cartelle virtuali remote, per cui dovrei
pubblicare tutto l'applicativo solo per questa select...
Credo che risolvero' con una select per estrarre seguita poi da un
delete from per la cancellazione.
Grazie a tutti comunque
Mastro


 id_associazione=" & cint(request.QueryString("id_associazione"))
strSQL = "DELETE * FROM associazioni_files_utenti WHERE id_associazione =
" & request("id_associazione")"
conn.execute strSQL
Attento anche ad eventuali relazioni con altre tabelle, se non hai
specificato "elimina record a catena" potresti non riuscire a
cancellarlo.
Ciao,
Nicola

 conn.execute strSQL
Ciao Nicola :-)
Ti ringrazio per l'interessamento...
A dire il vero il DELETE FROM (senza *) lo so usare :-)
Tuttavia il problema, come ho detto in una reply di questo thread, era il
voler bypassare una select, per usare un recordset solo...
Comunque dopo tutto sto casino avevo gia' deciso di ripiegare su una select,
un  DELETE FROM e un execute
:-)
Di nuovo grazie a tutti...
:-)

 voler bypassare una select, per usare un recordset solo...
Lo immagino, il problema è che scrivo offline, e quindi spesso scrivo
inutilmente ;-)))
Ciao,
Nicola