Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Recordset persistenti

Salve a tutti
Con il metodo save dell'oggetto recordset ho creato un file xml che però
imposta i campi in ordine alfabetico.
Le mie domande sono queste:
1) E' possibile lasciare l'ordine dei campi come nell'originale?
2) Come posso creare una tabella dal file .xml creato senza iterare tutti i
records?
    es.
    dim rs as new adodb.recorset
    rs.open "C:\File.xml",,,,adcmdfile
    conn.execute "select * into tabprova from " & rs.source & ""?
Ciao
Fabio

 tutti i records?
mi par di ricordare che, sulla guida, appana dopo aver spiegato come si fa a
salvare un recordset su file, venga spiegato come recuperarlo...
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 salvare un recordset su file, venga spiegato come recuperarlo...
Per recuperarlo si usa semplicemente il medoto open dell'oggetto recordset.
Il Mio problema è una volta caricacato nel recordset costruirci una tabella
senza passare per ogni record.
Ciao
Fabio

 costruirci una tabella senza passare per ogni record.
sei piů criptico di giuseppe.
conosci l'utilizzo del metodo filter?


 o superiori) per lavorare con xml. Ci sarą uno streamreader.
Evidentemente mi sono spiegato male. Il mio problema non č nel salvarlo o
nel caricarlo, ma nel crearci su una tabella senza iterare i records.
Ciao
Fabio

 conosci l'utilizzo del metodo filter?
Scusami ma non capisco. In che modo potrebbe essermi utile?
Ciao
Fabio


Ti giuro che sto sforzandomi di capire, ma non ci riesco.
Cosa intendi per 'crearci su una tabella'?
Vuoi salvare il recordset in un db?
Alberto

    conn.execute "select * into tabprova from " & rs.source & ""?
Devi aprire un recordset per tabprova e copiarci dentro campo per
campo, riga per riga il recordset di origine, partendo dal presupposto
che le due strutture siano uguali.
Ciao!

 Se esiste un metodo save, esisterą anche un load.
No, basta il .open:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Call rs.Open("c:\1.xml", , adOpenKeyset, adLockOptimistic)
Ed hai il tuo bel recordset disconnesso a partire da un file XML
Questa volta, complimenti a M$ :)
termoPilucco


Esatto, lo voglio salvare in una tabella nel db.
Ciao
Fabio

 che le due strutture siano uguali.
Speravo fosse possibile qualcosa di diverso.
Grazie

 Speravo fosse possibile qualcosa di diverso.
Hai provato a riconnettere il recordset alla connection?
set tipo rs.activeconnection= mycnnAdo
tentar non nuoce, termoPilucco


Non ci ho provato.
Tu cosa ne pensi se utilizzo questo codice:
dim rs as new adodb.recordset
rs.open "C:\prova.xml",,,adcmdfile
cn.execute "select * into tabprova from " & rs.source & ""
Ciao
Fabio

rs.fields(0).name=cap e rs.fields(1).name= nome
Strano fenomeno ...
Hai provato ad aprire l'xml per vedere cosa c'è scritto?
Per capire se il problema è sul salvataggio o proprio sul caricamento.
Ciao!

 Esatto, lo voglio salvare in una tabella nel db.
Non ne ho idea.
Puoi provare a riconnettere 'a brutto' il recordset alla tabella, impostare
il source su una tabella, e fare un update.
99% non funziona, ma sappimi dire.
Ciao
Alberto

 Per capire se il problema è sul salvataggio o proprio sul caricamento.
Si l'ho aperto ed effettivamente li imposta in ordine alfabetico. Ho pensato
che fosse normali li per lì, però.........
Ciao
Fabio


Appena riconquisto il pc eseguo il test.
Ciao e grazie
Fabio

 cn.execute "select * into tabprova from " & rs.source & ""
rs è disconnesso quindi suppongo che rs.source contenga "C:\prova.xml"
Se "select * into tabprova from C:\prova.xml" funziona, sei a posto. Ma ho
molti dubbi.
Normalmente, per fonti di dati esterne, si usa una sintassi del tipo
"INSERT INTO " & NomeTabella & " SELECT * From [" & PathDb & "\" & NomeDb &
".mdb]." & NomeTabella
Io invece proverei la bruta riconessione del recordset e successivo resynch,
o cose del genere.
termoPilucco



Ricontrolla i campi del recordset prima di effettuare il salvataggio,
la query che usi, sei veramente sicuro di non effettuare qualche altra
operazione ... è abbastanza assurdo che il Save del recordset perda
tempo a riordinare i campi!
Prova anche ad usare adPersistADTG come formato di salvataggio, giusto
per verificare che il problema non sussista solo con xml.
E tra le altre ... che versione di ADO???
Ciao!

 E tra le altre ... che versione di ADO???
2.6
Ciao e grazie dell'aiuto
Fabio

 o cose del genere.
Non funziona. Se dopo il ricollegamenta eseguo rs.resync mi lancia un errore
che dice "Non ci sono informazioni sufficienti sulla colonna chiave".
Ciao
Fabio


Ciao e grazie
Fabio