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
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)
il risultato è questo
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.
Forse sono stato un po troppo criptico...
Fai questa prova:
If RespuestaDB.Available Then
RespuestaDB.MoveLast
Print RespuestaDB.Count;; RespuestaDB[1];; RespuestaDB[2];; RespuestaDB[3]
Endif
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:
Secondo me dovresti mettere un ordinamento direttamente nella query.
Es:
sql = "SELECT * FROM superenalotto WHERE I LIKE '%" & CStr(1) & "%' ORDER BY Campo_Data_che_non_so_quale_perche_usi_select_asterisco DESC;"
... ce un doc sulle querry del sqlite3?
SQL è una specie di lingua franca compresa (+ o -) da tutti i database, in effetti ci sono delle variazioni secondo il database ma intanto dovresti conoscerla vedi qui un tutorial:
https://www.w3schools.com/sql/default.asp
Poi Gambas ha a sua volta un sottolinguaggio universale valido per SQLite, PostgreSQL, MySQL, ODBC:
http://gambaswiki.org/wiki/comp/gb.db
Si chiama DB di gb.db studiatelo ad esempio se la tua tabella ha i campi data con numeri interi potresti ottenere l'ordinamento della tabella così:
RespuestaDB = ConexionDB.Find("superenalotto", "Order BY nome_campo_giorno, nome_campo_mese, nome_campo_anno")