You are on page 1of 2

Tengo en un formulario un Datagridview (DgvAlumnos), un Listbox (LstCalificaciones) y un botn (Button1).

En el evento load del formulario cargo el Datagridview con los datos extraidos de una consulta a la base datos.Luego quiero que cuando se pulse en el botn se cargue en el Listbox los datos recuperados de un procedimiento almacenado de forma que el parametro que le paso al procedimiento almacenado es el primer elemento (Dni) de la fila seleccionada en el datagridview (DgvAlumnos).El codigo es el siguiente :

Imports System.Data Imports System.Data.Sqlclient Public Class FrmAlumno Dim ConAlumnos As SqlConnection Dim DAAlumnos As SqlDataAdapter Dim DSAlumnos1 As New DataSet("DSAlumnos") Dim DSCalificacionesAlumnos1 As New DataSet("DSCalificacionesAlumnos") Dim BdsAlumnos As New BindingSource Dim BdsCalificacionesAlumnos As New BindingSource Private Sub FrmAlumno_Load(ByVal sender As Object, ByVal e As System.EventArgs) HandlesMe.Loa d

ConAlumnos = New SqlConnection ConAlumnos.ConnectionString = "cadena de conexion" DAAlumnos = New SqlDataAdapter("select * from Alumno", ConAlumnos) DAAlumnos.Fill(DSAlumnos1, "Alumno")

BdsAlumnos.DataSource = DSAlumnos1 BdsAlumnos.DataMember = "Alumno"

DgvAlumnos.DataSource = BdsAlumnos BdnAlumnos.BindingSource = BdsAlumnos

End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesBut ton1.Click Dim DniAlumno As String

ConAlumnos = New SqlConnection ConAlumnos.ConnectionString = "cadena de conexion" DAAlumnos.SelectCommand.Connection = ConAlumnos

DAAlumnos.SelectCommand.CommandText = "dbo.ConsultarNotaAlumno" DAAlumnos.SelectCommand.CommandType = CommandType.StoredProcedure

DniAlumno = DgvAlumnos.SelectedCells(0).Value.ToString

DAAlumnos.SelectCommand.Parameters.Add("@Dni", SqlDbType.Char, 9) DAAlumnos.SelectCommand.Parameters(0).Value = DniAlumno

DSCalificacionesAlumnos1.Clear()

DAAlumnos.Fill(DSCalificacionesAlumnos1, "ConsultarNotaAlumno")

BdsCalificacionesAlumnos.DataSource = DSCalificacionesAlumnos1 BdsCalificacionesAlumnos.DataMember = "ConsultarNotaAlumno" LstCalificaciones.DataSource = BdsCalificacionesAlumnos

End Sub

End Class Por que no se me carga en el Listbox los datos resultantes de ejecutar el procedimiento almacenado? Lo curioso es que si en vez de un Listbox aado otro Datagridview (DataGridView1) y sustituyo la ultima lnea :

LstCalificaciones.DataSource = BdsCalificacionesAlumnos

Por esta otra ....

DataGridView1.DataSource = BdsCalificacionesAlumnos

Entonces si se me cargan en el nuevo datagridview(DataGridView1) los datos del procedimiento almacenado... Por que con el Listbox no funciona? que mas hay que aadir?

You might also like