Gambas3 > Database
sqlite3 prelevare dati
alejandro:
salve ragazzi,ho un problema al prelevare dati dal sqlite3.
ho creato un database con campi sul giorno + mese + anno + primo dato + secondo dato + terzo dato + quarto dato.
con RespuestaDB.Count(Result) posso sapere quante volte un valore si trova nel primo campo,ma non riesco a prelevare l'ultima data(campi giorno+mese+anno) che questo valore si presenta.
ho girato e rigirato per il web e non ne vengo a capo.
la querry usata è questa
--- Codice: ---
sql = "SELECT * FROM superenalotto WHERE I LIKE '%" & CStr(1) & "%'"
RespuestaDB = ConexionDB.Exec(sql)
txaTablero.Text &= CStr(1) & " " & RespuestaDB.Count & " " & RespuestaDB[1] & RespuestaDB[2] & RespuestaDB[3] & "\n"
ConexionDB.Close
txaTablero.Text = Trim(txaTablero.Text)
--- Termina codice ---
il risultato è questo
--- Codice: ---
1 761 020709
--- Termina codice ---
il valore 1 nel campo I è presente 761 volte.Ma la data che viene fuori è la prima volta in qui è presente,non l'ultima.
qual'è la querry giusta? ce un doc sulle querry del sqlite3?
grazie in anticipo.
Gianluigi:
Non vedendo la tabella, provo a indovinare :)
Forse dovresti muoverti sull'ultimo Result con MoveLast
:ciao:
Gianluigi:
Forse sono stato un po troppo criptico...
Fai questa prova:
--- Codice: ---
If RespuestaDB.Available Then
RespuestaDB.MoveLast
Print RespuestaDB.Count;; RespuestaDB[1];; RespuestaDB[2];; RespuestaDB[3]
Endif
--- Termina codice ---
Però se posso darti un consiglio non usare i result come fossero dei vettori, usa un codice più consono ad esempio Result["nome_del_campo"] oppure Result!nome_del_campo
:ciao:
milio:
Secondo me dovresti mettere un ordinamento direttamente nella query.
Es:
--- Codice: ---
sql = "SELECT * FROM superenalotto WHERE I LIKE '%" & CStr(1) & "%' ORDER BY Campo_Data_che_non_so_quale_perche_usi_select_asterisco DESC;"
--- Termina codice ---
Gianluigi:
--- Citazione da: milio - 13 Novembre 2021, 18:07:58 ---Secondo me dovresti mettere un ordinamento direttamente nella query.
Es:
--- Codice: ---
sql = "SELECT * FROM superenalotto WHERE I LIKE '%" & CStr(1) & "%' ORDER BY Campo_Data_che_non_so_quale_perche_usi_select_asterisco DESC;"
--- Termina codice ---
--- Termina citazione ---
Ciao Milio,
È chiaro che prima occorre avere una tabella ordinata, la mia speranza era che i dati fossero introdotti già in ordine, vale a dire giorno per giorno.
Altrimenti visto che, se ho capito bene, le date sono distribuite su tre colonne (giorno, mese, anno) e sono delle stringhe, la faccenda si complica non poco. :-\
Se invece i dati sono numeri interi allora la cosa è semplice basta dare un ORDER BY colonna_giorno, colonna_mese, colonna_anno.
Dico bene o dico sciocco? :donkey:
:ciao:
Navigazione
[0] Indice dei post
Vai alla versione completa