Italian [B4J] B4XTable ; mi sfugge qualcosa?

giannimaione

Well-Known Member
Licensed User
Longtime User
forse mi sfugge qualcosa?

per riempire una B4XTable (dati prelevati da un db SQLite), si procede in questo modo?

1) eseguire una select ; il contenuto di TUTTI i record viene in automatico memorizzato in "ResultSet";
2) si procedere poi a estrarre i dati dei singoli record (ResultSet) e riempire una LISTA, in un ciclo Do While ... Loop;
3) passare la LISTA a B4XTable; a questo punto B4XTable con un identico ciclo Do While .... Loop "riempe" la tabella;

ok, esiste anche la possibilità di utilizzare un codice simile a
B4X:
B4XTable1.sql1.ExecNonQuery2($"INSERT INTO data VALUES(?,?,?,?)"$ , Array As Object(50000, "N1", "S1",1000))
in questo modo, si "passa" una singola riga della tabella, senza dover riempire una LISTA;
il tutto mi sembra un po contorto; mi sfugge qualcosa?
 

ivanomonti

Expert
Licensed User
Longtime User
forse mi sfugge qualcosa?

per riempire una B4XTable (dati prelevati da un db SQLite), si procede in questo modo?

1) eseguire una select ; il contenuto di TUTTI i record viene in automatico memorizzato in "ResultSet";
2) si procedere poi a estrarre i dati dei singoli record (ResultSet) e riempire una LISTA, in un ciclo Do While ... Loop;
3) passare la LISTA a B4XTable; a questo punto B4XTable con un identico ciclo Do While .... Loop "riempe" la tabella;

ok, esiste anche la possibilità di utilizzare un codice simile a
B4X:
B4XTable1.sql1.ExecNonQuery2($"INSERT INTO data VALUES(?,?,?,?)"$ , Array As Object(50000, "N1", "S1",1000))
in questo modo, si "passa" una singola riga della tabella, senza dover riempire una LISTA;
il tutto mi sembra un po contorto; mi sfugge qualcosa?

avevo avuto questo problema in passato, e adottai una mappa e una list dove andavo a caricare tutti i record per poi caricarli un tot alla volta per non appesantire la lista, perchè una volta che tu fai un recorset e chiudi connessione se non sbaglio si svuota, non vorrei dire una CAZZATA
 

LucaMs

Expert
Licensed User
Longtime User
B4XTable1.SetData(data)

Data is a list. Each item in the list is an array of objects that represents a row.

Quindi ogni record di una tabella dovresti metterlo in un array e tutti gli array in una List da passare alla SetData.
 
Top