Newsgroup: it.comp.lang.visual-basic
Titolo: ADO - EDIT

Ciao a tutti! Ultimamente sto cercando di passare da DAO ad ADO e ho trovato
non pochi imprevisti....
andiamo subito al problema....
quando cerco di editare un record già esistente e modifico un campo
contenente una stringa lunga tot caratteri con un'altra lunga anche tot + n
mi esce l'errore di runtime:
si sono verificati errori in un'operazione composta da più passaggi.
controllare i
singoli valori di stato
mentre se inserisco stringhe più piccole questo non accade....
ma l'unica soluzione che ho trovato nei vecchi post è quella di inserire
alle stringhe tot numero di spazzi in modo da mantenere una lunghezza sempre
al limite massimo del campo...
ma io dico è cosa????
ma che cavolo!!! Mi avevano tutti parlato bene di sto cacchio di ADO e poi
bisogna incasinare il codice con ste fregnacce?
Un'altra soluzione trovata nei post vecchi era quella di aprire la
connessione con CursorLocation = adUseServer... ma peccato che con
quest'ultima soluzione vanno a morire alcune proprietà come recordcount che
è sempre a -1 ed il problema prima citato rimane invariato....
qualcuno ha trovato una soluzione a questo problema? Sto veramente
impazzendo! Vi prego datemi aiuto o spacco tutto!

 impazzendo! Vi prego datemi aiuto o spacco tutto!
Non spaccare niente. Magari leggi un po'... ;-)

 al limite massimo del campo...
Questa cosa mi incuriosisce non poco.
Hai qualche link a quei "vecchi post"?

 ha scritto nel messaggio
news:bdt0c5$1008tp$1...@ID-174464.news.dfncis.de...

Se fai una ricerca sui post vecchi inserendo l'errore citato nel mio primo
post troverai che altre persone hanno avuto il mio stesso problema e
troverai anche le soluzioni che ti ho citato....

 essere stato chiaro anche prima cmq...
Allora prima che Lupo ti azzanni  :-) , dovresti dirci che errore ti da.

č un comportamento molto strano, dato che usi ADO dicci la connection string
che usi, potrebbe essere lě il problema, basta aggiungere un parametro nella
stringa per variare il comportamento di qualcosa....
che database usi? Access o cos'altro?
come apri l'adodb.connection e l'adodb.recordset?
good coding!!!
-- 
Damiani Liborio Igor
ig...@igordamiani.it
 - 
soft...@igordamiani.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262

 chiaro anche prima cmq...
Ti sei spiegato, ma superiore a 9 caratteri vuol anche dire superiore a 30?
Se sě, non sai leggere (pardon)
Se no, non ci credo. Non ci credo nemmeno se mio padre me lo comunica in
sogno.
PS: Usi qualche Data-eccetera?

 ha scritto nel messaggio
news:bdujj9$10q3ov$1...@ID-174464.news.dfncis.de...

Lupo scrive:
Ti sei spiegato, ma superiore a 9 caratteri vuol anche dire superiore a 30?
No vuol dire anche solo 10....
Anzi ti dirň di piů vi viene dato l'errore anche quando inserisco nel campo
un valore uguale a quello precedente!
Cmq non uso nessun data ecc...
Vieni sul mio terminale e vedrai! Sto impazzendo....

 ha scritto nel messaggio
news:bdu4ph$vv76e$1...@ID-134521.news.dfncis.de...

Nella connection string mi connetto usando il driver fornito da mysql che č
il database che utilizzo...
il CursorLocation č adUseClient
mentre i recordset li setto come tipo di cursore uso adopenstatic (ma anche
con la dynamic č uguale), come locktype uso adLockBatchOptimistic...
cmq grazie per il tuo interessamento professionale...

> Allora prima che Lupo ti azzanni  :-) , dovresti dirci che errore ti da.
Tu chi sei l'avvocato del diavolo :-) ? L'errore era nel primo post ... ma
forse l'hai letto poco attentamente come ha fatto Lupo...

 Vieni sul mio terminale e vedrai! Sto impazzendo....
A questo punto sono curioso: Se vuoi, facci vedere il codice, in particolare
l'apertura della connessione, del recordset e modifica dello stesso,
segnalando la riga relativa al campo incriminato. Non sarebbe male anche
avere tutte le informazioni relative al tipo e dimensioni del campo come sta
sul database. Grazie.

 forse l'hai letto poco attentamente come ha fatto Lupo...
E cosě te lo sei giocato. Il Lupo.