Italian [B4J] B4XTable ; mi sfugge qualcosa?

Gianni M

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

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.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…