Dim rs As ResultSet
rs = sql.ExecQuery("select NAME from DB order by VAL desc limit 1") 'seleziona nome dal valore più alto
Label1.Text = rs.GetString("NAME")
Dovresti usare ExecQuerySingleResult
rs = sql.ExecQuery("SELECT NAME from DB WHERE ID='" & modGlobals.strMyTeam(1) & "' or ID='" & modGlobals.strMyTeam(2) & "' or ID='" & modGlobals.strMyTeam(3) & "' or ID='" & modGlobals.strMyTeam(4) & "' or ID='" & modGlobals.strMyTeam(5) & "' or ID='" & modGlobals.strMyTeam(6) & "' or ID='" & modGlobals.strMyTeam(7) & "' or ID='" & modGlobals.strMyTeam(8) & "' or ID='" & modGlobals.strMyTeam(9) & "' or ID='" & modGlobals.strMyTeam(10) & "' or ID='" & modGlobals.strMyTeam(11) & "' or ID='" & modGlobals.strMyTeam(12) & "' or ID='" & modGlobals.strMyTeam(13) & "' ORDER BY VAL DESC LIMIT 1")
Dim S as String = sql.ExecQuerySigleResult("SELECT NAME from DB WHERE ID='" & modGlobals.strMyTeam(1) & "' or ID='" & modGlobals.strMyTeam(2) & "' or ID='" & modGlobals.strMyTeam(3) & "' or ID='" & modGlobals.strMyTeam(4) & "' or ID='" & modGlobals.strMyTeam(5) & "' or ID='" & modGlobals.strMyTeam(6) & "' or ID='" & modGlobals.strMyTeam(7) & "' or ID='" & modGlobals.strMyTeam(8) & "' or ID='" & modGlobals.strMyTeam(9) & "' or ID='" & modGlobals.strMyTeam(10) & "' or ID='" & modGlobals.strMyTeam(11) & "' or ID='" & modGlobals.strMyTeam(12) & "' or ID='" & modGlobals.strMyTeam(13) & "' ")
Se devi avere un solo campo di una sola riga (row), fai tutto con una sola riga comando anziché 4 righe. Non hai bisogno di ResulSet ne di altro.Grazie ancora!
Scusami, puoi spiegarmi appoggiandolo ad una variabile string quale vantaggi comporta?
Scusa @Star-Dust riguardo LIMIT 1 lo capisco, ma senza mettere ORDER BY VAL DESC come fa a sapere che tra i 13 ID selezionati deve prendere il valore più alto e non quello che è nella prima riga (non sono ordinati per valore nel file)?in ExecQuerySingleResult l'espressione ORDER BY VAL DESC LIMIT 1 non serve. Perché è già un solo elemento e non serve ordinarlo per valore giacché è solo uno
Dim S as String = sql.ExecQuerySigleResult("SELECT NAME from DB WHERE ID='" & modGlobals.strMyTeam(1) & "' or ID='" & modGlobals.strMyTeam(2) & "' or ID='" & modGlobals.strMyTeam(3) & "' or ID='" & modGlobals.strMyTeam(4) & "' or ID='" & modGlobals.strMyTeam(5) & "' or ID='" & modGlobals.strMyTeam(6) & "' or ID='" & modGlobals.strMyTeam(7) & "' or ID='" & modGlobals.strMyTeam(8) & "' or ID='" & modGlobals.strMyTeam(9) & "' or ID='" & modGlobals.strMyTeam(10) & "' or ID='" & modGlobals.strMyTeam(11) & "' or ID='" & modGlobals.strMyTeam(12) & "' or ID='" & modGlobals.strMyTeam(13) & "' ")
Ma il filtro per ID più alto devo impostarlo dal file?Vedendo il tuo codice dove WHERE contiene molti filtri relativi all'ID unico pensavo che già conoscessi quale richiamare.
Perchè se tu metti una lista di ID che conosci e poi li metti in ordine Decrescente per prendere il più alto non ha senso. Metti già il filtro per l'ID più alto.B4X:Dim S as String = sql.ExecQuerySigleResult("SELECT NAME from DB WHERE ID='" & modGlobals.strMyTeam(1) & "' or ID='" & modGlobals.strMyTeam(2) & "' or ID='" & modGlobals.strMyTeam(3) & "' or ID='" & modGlobals.strMyTeam(4) & "' or ID='" & modGlobals.strMyTeam(5) & "' or ID='" & modGlobals.strMyTeam(6) & "' or ID='" & modGlobals.strMyTeam(7) & "' or ID='" & modGlobals.strMyTeam(8) & "' or ID='" & modGlobals.strMyTeam(9) & "' or ID='" & modGlobals.strMyTeam(10) & "' or ID='" & modGlobals.strMyTeam(11) & "' or ID='" & modGlobals.strMyTeam(12) & "' or ID='" & modGlobals.strMyTeam(13) & "' ")
Infatti non stai usando il miglior metodo per selezionare una riga
ID NAME VAL
pinpal01 Pinco Pallino 30
semp01 Sempronio 56
rs = sql.ExecQuery("SELECT NAME from DB WHERE ID='" & modGlobals.strMyTeam(1) & "' or ID='" & modGlobals.strMyTeam(2) & "' or ID='" & modGlobals.strMyTeam(3) & "' or ID='" & modGlobals.strMyTeam(4) & "' or ID='" & modGlobals.strMyTeam(5) & "' or ID='" & modGlobals.strMyTeam(6) & "' or ID='" & modGlobals.strMyTeam(7) & "' or ID='" & modGlobals.strMyTeam(8) & "' or ID='" & modGlobals.strMyTeam(9) & "' or ID='" & modGlobals.strMyTeam(10) & "' or ID='" & modGlobals.strMyTeam(11) & "' or ID='" & modGlobals.strMyTeam(12) & "' or ID='" & modGlobals.strMyTeam(13) & "' ORDER BY VAL DESC LIMIT 1")
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?