It is currently 8 June 2025, 4:27 Advanced search

Da collection a recordset

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Da collection a recordset

Postby d.termini » 20 December 2024, 13:13

Sono a conoscenza della funzione loadFromRecordset della collection, ma non sembra esistere niente che faccia il contrario.

Qualcuno si è già cimentato a convertire collection in recordset?
Io ho fatto alcune utility per modificare il metadata del recordset e caricare dei dati ma mi ci sono abbastanza scottato, quindi non so neanche se sia la strada giusta.
Inoltre dovrei farlo generalizzato.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Da collection a recordset

Postby smuser » 23 December 2024, 15:43

E' una cosa a cui non ho mai pensato. Una collection di un qualsiasi framework di persistenza è la reificazione del recordset caricato dal driver sql sottostante.
La loadFromRecordset è un metodo di alto livello per darti la stessa funzionalità con un po' di flessibilità, es. ho una tabella con 500 campi ma in un certo istante ne devo caricare 3 quindi nel recordset tiro su i tre campi e il metodo li mappa per me.
Il processo inverso mi sfugge se non per passarlo ad un'interfaccia "legacy" che accetta come parametro di input il recordset. E' questa la situazione? Se così fosse forse la soluzione più semplice è:
- salva la collection in un db in memoria
- apri il recordset sul db in memoria
User avatar
smuser
 
Posts: 291
Joined: 3 May 2019, 10:41
Location: Milano

Re: Da collection a recordset

Postby d.termini » 23 December 2024, 15:51

Grazie per l'idea smuser :)

Se select into recordset funziona anche su IMDB potrei basare le classi di supporto che ho usato per la collection su una IMDB, tanto sono slegate da DB, e magari qualcosa si combina, mi piace poco e sarà lentissimo ma almeno non devo rifare l'intera logica, anche perché alcune di quelle collection le riempio pure in più step, cosa più difficile da fare sul recordset.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Da collection a recordset

Postby d.termini » 24 December 2024, 8:25

Ho provato a legare la classe usata nella collection a IMDB, purtroppo non salva nella IMDB perché "not saved because the class is not linked to a DB table".
A sto punto tocca estrarre direttamente su IMDB, fare lì tutte le variazioni e aggiunte e quindi a seconda di dove lo uso restituire collection o recordset estraendo da IMDB.

Sempre che funzioni.

EDIT:
Da IMDB a recordset funziona, da recordset a collection pure, sarebbe utilizzabile per fare le query remote e ricavare la collection a valle.
Da IMDB a collection direttamente invece non estrae niente, non so se sia un bug o semplicemente non è mai stato preso in considerazione (le classi DO con IMDB non è che vadano d'accordissimo a quanto pare).

Ovviamente non mi pare un giro pratico fare il doppio riversamento per avere la collection sull'applicazione online...

Provo a vedere di giocare un po' con i recordset e fare una funzione generalizzata.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Da collection a recordset

Postby smuser » 7 January 2025, 13:49

Si, in realtà quando ti ho suggerito db in memoria pensavo più ad una soluzione basata su sqllite.
Per quanto ne so l'unico modo di caricare dati su imdb è via sql.
Creare un metodo che usa reflection e crea la insert magari è fattibile...
User avatar
smuser
 
Posts: 291
Joined: 3 May 2019, 10:41
Location: Milano

Re: Da collection a recordset

Postby d.termini » 8 January 2025, 13:35

Grazie smuser per lo spunto, alla fine ho creato un metodo che usa la reflection.
È stato interessante creare un recordset da zero, ma alla fine è piuttosto semplice una volta capito l'ordine di come eseguire le operazioni, le limitazioni e cosa fare e non fare.

Ad esempio ho dovuto intervenire sui null perché non li vedeva del tipo corretto ma per il resto sembra funzionare correttamente.

E ho completamente evitato le IMDB.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Da collection a recordset

Postby r.bianco » 9 January 2025, 7:39

d.termini wrote:Grazie smuser per lo spunto, alla fine ho creato un metodo che usa la reflection.
È stato interessante creare un recordset da zero, ma alla fine è piuttosto semplice una volta capito l'ordine di come eseguire le operazioni, le limitazioni e cosa fare e non fare.

Ad esempio ho dovuto intervenire sui null perché non li vedeva del tipo corretto ma per il resto sembra funzionare correttamente.

E ho completamente evitato le IMDB.


Bello.
Sembra un bel argomento per la community ;P
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 65 guests