Gambas3 > Database

sqlite3 prelevare dati

(1/2) > >>

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

[#] Pagina successiva

Vai alla versione completa