+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

Leggere idcliente da combobox con ValueMember

  1. #1
    SanzWeb non è in linea Novello
    Gentili utenti del forum buongiorno.

    Ho una classica situazione clienti e ordini_clienti.

    Nella fase della compilazione dell'ordine ho popolato una combobox con la ragione sociale del cliente e l'id dello stesso (almeno così pensavo) con il seguente codice:

    Private Sub caricaClienti()
            Dim Query As String
    
            Dim myconn As New MySqlConnection(stringaConn)
            Query = "SELECT idcliente, cliente from dbcommesse.anacli ORDER BY cliente"
            Dim da As New MySqlDataAdapter(Query, myconn)
            Dim dt As New DataTable
            ' CboClientiTK.DataSource = Nothing
            da.Fill(dt)
            If dt.Rows.Count > 0 Then
                With CBOCLIENTI
                    .DataSource = dt
                    .DisplayMember = "cliente"
                    .ValueMember = "idcliente"
                End With
            End If
            myconn.Close()
        End Sub
    
    Quando vado a compilare l'ordine e poi vado a salvarlo, vorrei assegnare al parametro @idcliente appunto l'id del cliente in questione, ma non so come esplicitarlo perchè se assegno al paramentro CBOCLIENTI.valueMember da errore di cast non valido perchè mi passa proprio "idcliente" come stringa e non l'id che mi aspettavo fosse associato nella combo.

    Come si può leggere l'id corretto?

      
    myquery = "INSERT INTO dbcommesse.ordinifor(idcliente, data_ordine, Fornitore, materiale, lavorazione, DataConsegna, stato, totale, note) VALUES (@idcliente, @data_ordine, @fornitore, @materiale, @lavorazione, @dataconsegna, @stato, @totale, @note);"
    
                Using myconn As New MySqlConnection(stringaConn)
                    myconn.Open()
                    cmdInsert = New MySqlCommand(myquery, myconn)
    
                                 With cmdInsert.Parameters
    
                        .AddWithValue("@idcliente", CBOCLIENTI.valuemember)    <---- non corretto? 
                        .AddWithValue("@data_ordine", ToMySql(DataOrdine.Text))
                        .AddWithValue("@fornitore", CBOFORNITORE.Text)
                        .AddWithValue("@materiale", txtmateriale.Text)
                        .AddWithValue("@lavorazione", txtlavorazione.Text)
                        .AddWithValue("@dataconsegna", ToMySql(DataConsegna.Text))
                        .AddWithValue("@stato", Cbostato.Text)
                        .AddWithValue("@totale", CDec(txtTotale.Text))
                        .AddWithValue("@note", txtnote.Text)
    
                    End With
                    Try
    
                        If cmdInsert.ExecuteNonQuery() = 1 Then
                            MessageBox.Show("Dati articolo salvati correttamente")
    
                        Else
                            MessageBox.Show("Dati non inseriti.")
                        End If
    
                    Catch ex As Exception
                        MessageBox.Show(ex.Message, "Problema inserimento dati tabella ordini")
                    End Try
    
                End Using
    
    Ringrazio per i vostri suggerimenti.

    Sanzweb

  2. #2
    Il ValueMember ovviamente no perchè è il nome del campo, devi utilizzare opportunamente il SelectedValue
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    SanzWeb non è in linea Novello
    Ciao Antonio....

    ho utilizzato opportunamente...
    grazie per la dritta.

    Sanzweb

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Leggere da Combobox
    Da misonsan nel forum Visual Basic .Net
    Risposte: 5
    Ultimo Post: 28-05-2017, 17:00
  2. contenuto combobox che dipende da un'altra combobox
    Da maxs84 nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 22-12-2016, 11:58
  3. Risposte: 2
    Ultimo Post: 10-10-2011, 20:38
  4. Risolto: ValueMember ComboBox
    Da ken1986 nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 21-11-2010, 11:12
  5. Leggere i dati da una combobox
    Da E_ma nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 04-02-2004, 08:41