Ciao a tutti ho un problema: sto costruendo un'interfaccia windows di un database e ho una list box di persone e vorrei riempire una textbox con ad esempio il sesso della persona su cui clicco nella listbox!! avete suggerimenti?? qui vi metto il codice....
Imports System.Data.SqlClient
Public Class Form1
Dim conn As New SqlConnection("Data Source=PC-MATTEO\SQLEXPRESS;Initial Catalog=Proposta_Soluzione_1;Integrated Security=True")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim str As String = "SELECT Nome + ' '+ cognome as Persona FROM Persone"
Dim cmd As New SqlCommand(str, conn)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet
da.Fill(ds, "Persone")
Pazienti.DataSource = ds.Tables("Persone")
Pazienti.DisplayMember = "Persona"
Dim st As String = "SELECT Nome + ' ' + Cognome as Medico FROM Persone " 'WHERE ID_Ruolo = 4"
Dim dset As New DataSet
Dim cm As New SqlCommand(st, conn)
Dim dad As New SqlDataAdapter(cm)
dad.Fill(dset, "Persone")
ComboBox1.DataSource = dset.Tables("Persone")
ComboBox1.DisplayMember = "Medico"
End Sub
Private Function EseguiReadParametrica( _
ByVal pSQL As String, _
ByVal pCommand As SqlClient.SqlCommand) _
As SqlClient.SqlDataReader
Dim myConnection As SqlClient.SqlConnection
Dim nroRecord As Integer
Dim myStrConn As String
Try
' creazione esplicita della connessione
myConnection = New SqlClient.SqlConnection()
myStrConn = BuildConnectionString()
myConnection.ConnectionString = myStrConn
myConnection.Open()
' passaggio della connessione attiva
' all'oggetto Command
pCommand.Connection = myConnection
' definizione del tipo di comando
pCommand.CommandType = CommandType.Text
' assegnazione della stringa comando
pCommand.CommandText = pSQL
' esegue il comando di lettura
EseguiReadParametrica = pCommand.ExecuteReader
Catch thisExcept As Exception
' se il tentativo di connessione fallisce
' viene visualizzata l'eccezione
MessageBox.Show(thisExcept.Message, _
"EseguiReadParametrica()")
End Try
End Function
Private Sub CaricaFormCollection()
Dim myPaziente As Paziente
' oggetto clsProdotto selezionato
' nella ListBox Pazienti
myPaziente = CType( _
Pazienti.SelectedItem, Paziente)
Try
With myPaziente
' TextBox1.Text = .ID_Pers
TextBox2.Text = .Nome
' seleziona il fornitore nel Combo cboFornitori
' CercaItemInCombo(cboFornitori, .IdFornitore)
'seleziona la categoria nel Combo cboCategorie
'CercaItemInCombo(cboCategorie, .IdCategoria)
End With
Catch thisExcept As Exception
MessageBox.Show(thisExcept.Message, _
"CaricaFormCollection")
End Try
End Sub
Private Sub CaricaListBoxClassLong()
Dim myDataReader As SqlDataReader
Dim mySQL As String
Dim myCommand As SqlCommand
Dim myPaziente As Paziente
' testo della query
mySQL = "SELECT Nome, " & _
"FROM Persone "
' creazione del comando
myCommand = New SqlClient.SqlCommand()
Try
' esecuzione della query
myDataReader = _
EseguiReadParametrica(mySQL, myCommand)
' svuota il contenuto del controllo lstProdotti
Pazienti.Items.Clear()
' scorre i dati estratti leggendo il DataReader
Do While myDataReader.Read
' crea un'istanza della classe clsProdotto
Dim myPaziente = New Paziente()
With myDataReader
' valorizza tutte le proprietà
' dell'oggettto myProdotto leggendo il
' valore dei campi estratti dalla query
myPaziente.Nome = _
.Item("Nome").ToString()
End With
' aggiunge l'oggetto myProdotto alla
' lista dei prodotti lstProdotti
Pazienti.Items.Add(myPaziente)
Loop
' chiude la connessione
myCommand.Connection.Close()
' seleziona il primo oggetto della lista
If Pazienti.Items.Count > 0 Then
Pazienti.SetSelected(0, True)
End If
Catch thisExcept As Exception
myCommand.Connection.Close()
MessageBox.Show(thisExcept.Message, _
"CaricaListBoxClassLong")
End Try
End Sub
End Class

