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)
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.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()
In modalità connessa invece un esempio di codice potrebbe essere questo:
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.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
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


Rispondi quotando