On Jan 19, 2007, at 12:03 PM, Lucio Liberi wrote:
La domanda e' questa:
Una volta che ho il mio rs, se lo metto dentro una variabile
globale che so? App.MyRS, posso riutilizzarlo senza dover ripetere
le SELECT?
Ebbene, io non ci sono riuscito.
In teoria si, però c'è un buco in REALbasic penso dalla version 3.0
che ti impedisce di farlo.
L'errore è dato dal fatto che quando arrivi a leggere l'ultimo record
del tuo RecordSet (ovvero quando RecordSet.EOF è true) il RecordSet
viene chiuso e quindi diventa non più valido.
Questa cosa non è controllabile o aggiustabile da chi scrive i
plugin, ma è un buco di RealBasic che non è mai stato risolto.
Una possibile soluzione è quella di usare un array bidimensionale
invece che un recordset, in questo modo dopo la tua query, ti scrivi
tutti i record e tutti i campi del tuo recordset in questo array
globale ed il problema è risolto.
La cosa mi serve per scorrere i record selezionati in un'altra
finestra che non fosse quella nella quale e' presente la listbox,
per intenderci.
In una listbox, posso mettere - per esempio - 4 field, poi nella
pagina-scheda, visualizzo tutte le informazioni del record...
Spero di esser stato chiaro... Insomma, non sto scrivendo un
programma per masterizzare DVD... Ecco, ci tenevo a dirlo.
In realtà la soluzione ottimale sarebbe quella di usare i dati stessi
del database in tutte le finestre e non un qualceh contenitore globale.
Potresti passare alla tua finestra secondaria i rowid dei vari record
da visualizzare e poi dentro la finestra fai una:
SELECT * FROM myTable WHERE rowid=Num1 OR rowID=Num2 e cosi via...
Spero di essere stato abbastanza chiaro....
---
Marco Bambini
http://www.sqlabs.net
http://www.sqlabs.net/blog/
http://www.sqlabs.net/realsqlserver/
|