Italian CICLO CON INTERROGAZIONE TABELLA MARIADB

bistecc

Member
Buongiorno. Sto interrogando un db su Mariadb in una tabella di anagrafica da cui vorrei estrarre alcuni dati e metterli nelle rispettive label. Nel caso specifico, nel db ho tre righe differenti (7,8,9) che fanno riferimento a 3 ruoli diversi. Ho cercato di risolvere la cosa con un ciclo for che però, terminato il primo giro, mi restituisce questo errore:


Ho provato anche a creare una sub per ogni "giro" che deve fare nel db, ma con lo stesso risultato. Sto affrontando la cosa nella maniera sbagliata?

B4X:
Sub spinNome_ItemClick (Position As Int, Value As Object)
    Dim req As DBRequestManager = CreateRequest
    Dim cmd As DBCommand = CreateCommand("get_all_persone_info", Array(spinCognome.SelectedItem, spinNome.SelectedItem))    
    Log("cognome " & spinCognome.SelectedItem)
    Log("nome " & spinNome.SelectedItem)
    Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob)      
    If j.Success Then
        req.HandleJobAsync(j, "req")
        Wait For (req) req_Result(res As DBResult)
        Dim row() As Object = res.Rows.Get(0)
        Dim datanascita As Long = row (res.Columns.Get ("datanascita"))
        DateTime.DateFormat="dd/MM/yyyy"
        Dim luogonascita As String = row (4)
        Dim codicefiscale As String = row (6)
        Dim squadraapp As Int = row (10)
        If squadraapp > 0 Then
            idsquadra = squadraapp
            get_squadra_from_cod (squadraapp)
        End If
        Dim codsesso As Int = row (5)
        If codsesso > 0 Then
            idsesso = codsesso
            get_sesso_from_cod (codsesso)
        Else
            Log("ERROR: " & j.ErrorMessage)
        End If
       
            For i = 7 To 9
                
            Log( "i " & i)
            Dim codruolo As Int = row (i)
            idruolo = codruolo
            Log("idruolo " & codruolo)
               
            Dim req As DBRequestManager = CreateRequest
            Dim cmd As DBCommand = CreateCommand("get_ruolo_da_cod", Array(idruolo))
            Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob)       
            If j.Success Then
                req.HandleJobAsync(j, "req")
                Wait For (req) req_Result(res As DBResult)
                               
                    Dim row () As Object = res.Rows.Get(0)
                    Dim ruolo As String = row (0)
       
            Log( "row " & ruolo)
               
            Else
            Log("ERROR: " & j.ErrorMessage)
            End If
           
        j.Release
        Next
'     
       
        datanascitaLabel.Text =  DateTime.Date(datanascita)
        luogonascitaLabel.Text = luogonascita
        codfiscLabel.Text = codicefiscale
        squadraLabel.Text = squadraapp
        Else
        Log("ERROR: " & j.ErrorMessage)
    End If
    j.Release
 

bistecc

Member
Grazie comunque a chi mi ha letto! Ho trovato una soluzione appropriata anche se rende il codice più lungo seppur leggibile.
Non saprei però come fare a chiudere il thread
 

Star-Dust

Expert
Licensed User
Longtime User
Non ho letto è appena apparso. Probabilmente ancora non hai licenza e i messaggi appaiono dopo approvazione....un giorno o a volte due
 

bistecc

Member
La licenza? Sono impreparato (anche) su questo! Grazie perché ho capito come fare ad essere licensed user. E' che in passato ho ricevuto risposte anche in giornata e questa volta ho dovuto rifare il thread perché il primo (identico a questo) è stato cancellato.
Sia chiaro, nessun problema ci mancherebbe....E' fantastico avere il vostro supporto. Ma era giusto per sapere come comportarmi.
Buona giornata a tutti
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…