Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    chiarimenti su combo in modalità connessa e non

    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
    Appartamenti in affitto nella riviera Romagnola - Cervia, Milano Marittina, Pinarella, Tagliata, Lido di Classe, Lido di Savio. www.cervia-affitti.com

  2. #2
    nessuna risposta? :master:
    Appartamenti in affitto nella riviera Romagnola - Cervia, Milano Marittina, Pinarella, Tagliata, Lido di Classe, Lido di Savio. www.cervia-affitti.com

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Hai già dato un'occhiata a questa discussione e a questa.

    Puoi anche fare una ricerca per trovare altre discussioni in cui questo argomento è stato affrontato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Ciao alka, grazie per la risposta.
    Le discussioni che mi hai indicato le avevo gia viste, cosi come ho gia visto altre discussioni su questo forum e su altri forum.
    Se ho iniziato questa nuova discussione è perchè non mi è ancora chiaro del tutto il concetto e perchè vorrei (se possibile) riferirmi al mio caso specifico per tentare di capire meglio.
    In particolare non ho capito come fare a associare l'id del recordeset alla riga della grid o all'item della combo in modo tale che con i metodo onchange della combo (oppure onclick della grid) possa essere restituito tale id.
    Inoltre non ho capito perchè in modalità non connessa non posso visualizzare nella combo la coppia nome+cognome ma solo un campo.

    Grazie per l'attenzione
    Luca
    Appartamenti in affitto nella riviera Romagnola - Cervia, Milano Marittina, Pinarella, Tagliata, Lido di Classe, Lido di Savio. www.cervia-affitti.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.