Salve,
Mi sto avvicinando pian piano con qualche piccolo esempio a vb.net e a asp.net dopo anni di vb e asp.

Dopo i primissimi esperimenti sto affrontando adesso il collegamento a un database e al riempimento di alcuni controlli (combo, datagrid...) estraendo dati dal database.

Ho gia fatto ricerche su google e su questo forum e ho trovato risultati che però non sono riuscito a capire bene.

Facciamo l'esempio delle combo.
Da alcune ricerche in rete ho capito (credo) che i dati si possono ottenere sia in maniera connessa, sia in maniera non connessa (ma non ho ben capito quando è preferibile usare uno o l'altro metodo)

In maniera non connessa un esempio potrebbe essere circa questo (se non sbaglio)

codice:
            Dim dt As DataTable = New DataTable()
            dt.Clear()

            Dim Sql As String = "SELECT id_utente, nome, cognome FROM tbl_utenti"
            Dim da As OleDbDataAdapter = New OleDbDataAdapter(Sql, Cn)
            da.Fill(dt)

            ComboUtenti.DisplayMember = "cognome"
            ComboUtenti.ValueMember = "id"
            ComboUtenti.DataSource = dt
            ComboUtenti.SelectedIndex = -1

            da.Dispose()
Però in questo caso non sono riuscito a far visualizzare nella combo la coppia nome+cognome. E' possibile? mentre invece se ho ben capito in valuemember ci va l'id dell'utente in modo da poter poi usare questo valore per eventuali altre query di ricerca.

In modalità connessa invece un esempio di codice potrebbe essere questo:

codice:
            Dim sql As String = "SELECT * FROM tbl_utenti ORDER BY cognome, nome"
            Dim cmd As New OleDbCommand(sql, Cn)

            Dim dr As OleDbDataReader = cmd.ExecuteReader

            Do While dr.Read()
                ComboUtenti.Items.Add(dr.Item("Nome") & " " & dr.Item("Cognome"))
            Loop
In questo caso, al contrario di prima, riesco a visualizzare piu campi nella combo ma non riesco ad associare a ogni righa l'id corrispondente.

Ultima cosa: in entrambe i casi (modalità connessa e non) cosa devo associare all'evento "change" della combo per avere l'id del record selezionato o il valore del testo della combo?

Spero che qualche buona anima possa farmi un po di chiarezza
Grazie mille
Luca