Gambas-it

Gambas3 => Programmazione => Topic aperto da: aulin - 10 Novembre 2014, 16:43:49

Titolo: Registrazione di un vettore su mysql
Inserito da: aulin - 10 Novembre 2014, 16:43:49
Secondo voi quale è il modo migliore per registrare un vettore di 50 e più elementi du un record mysql o sqlite? Predisporre 50 campi sul record e passarli uno a uno o mettere il tutto dentro una stringa e poi all'occorrenza compattare e scompattare? Ogni aiuto sarà ben accetto. :)
Titolo: Re: Registrazione di un vettore su mysql
Inserito da: Ceskho - 10 Novembre 2014, 17:33:39
Secondo voi quale è il modo migliore per registrare un vettore di 50 e più elementi du un record mysql o sqlite? Predisporre 50 campi sul record e passarli uno a uno o mettere il tutto dentro una stringa e poi all'occorrenza compattare e scompattare? Ogni aiuto sarà ben accetto. :)


Sfruttando i database relazionali può collegare n record di una tabella ad un solo record di un'altra tabella. Si chiama relazione uno-a-molti o one-to-many se preferisci l'anglofonia. Ti consiglio di cercare sul web cosa vuol dire e come si fa.
Titolo: Re: Registrazione di un vettore su mysql
Inserito da: aulin - 10 Novembre 2014, 17:44:48
 Ceskho grazie per la risposta. Utilizzo già mysql.  Il problema non è tanto quello di mettere su delle relazioni. La pesantezza  che vedo in fase di programmazione è quello di passare i campi dal vettore ai campi del record e viceversa. Stavo infatti valutando di mettere il contenuto del vettore in  una singola stringa separando i campi da un ;. Successivamente con la funzione split ricaricare il tutto nel vettore. Mi sembra più semplice e abbastanza automatizzabile con qualche ciclo. Sono fuori strada?
Titolo: Re: Registrazione di un vettore su mysql
Inserito da: Ceskho - 10 Novembre 2014, 17:53:43
Ceskho grazie per la risposta. Utilizzo già mysql.  Il problema non è tanto quello di mettere su delle relazioni. La pesantezza  che vedo in fase di programmazione è quello di passare i campi dal vettore ai campi del record e viceversa. Stavo infatti valutando di mettere il contenuto del vettore in  una singola stringa separando i campi da un ;. Successivamente con la funzione split ricaricare il tutto nel vettore. Mi sembra più semplice e abbastanza automatizzabile con qualche ciclo. Sono fuori strada?

Purtroppo non conoscendo la natura del lavoro su cui sei non posso dirti se sei o meno fuori strada. Solitamente lo splitting va evitato per dati dinamici che sfuggono al tuo controllo. Cosa accade se qualcuno nella stringa che salvi inserisce il carattere ;? Ti trovi con un dato in più. La tua è una strada percorribile come qualsiasi altra ma se i dati son fissi allora è conveniente che ognuno abbia la sua colonna nella tabella.
Titolo: Re: Registrazione di un vettore su mysql
Inserito da: aulin - 10 Novembre 2014, 17:59:13
Certo la soluzione corretta sarebbe che ogni elemento del vettore andasse su un campo del record. Il vettore comunque è formato da numeri interi per cui sarà possibile inserire solo numeri e neanche direttamente dall'utente. Mi sembrava estremamente palloso ( passami il termine) muovere gli elementi uno a uno per passarli nei campi del record. La soluzione della stringa mi sembrava anche + elegante(forse meno efficiente).