none
llenar varios textbox de una consulta sql hecha desde un combobox 22222 RRS feed

  • Pregunta

  • saludos por primera vez hago una consulta no sabia como hacerla o si obtendría alguna respuesta asi que aqui voy jejej

    como llenar varios textbox de una consulta sql hecha desde un combobox

    tengo un combobox que me selecciona un curso o carrera  cuando seleccione la carrera quiero hacer una consulta sql usando el valor del selectedvalue de la carrera y poder saber el precio de la mensualidad en un texbox quiero hacer que automaticamente me rellene el texbox asociando el selectvalue de cada carrera con su respectivo valor 

     Private Sub cbocarreramatr_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbocarreramatr.SelectedIndexChanged
            If txtcarnetmatricula.Text <> "" Then
                consultarPrecios(txtcarrera.Text)
                If dr.Read() Then
                    Me.txtpreciomatr.Text = dr(0).ToString
                    Me.txtpreciomens.Text = dr(1).ToString

                    dr.Close()
                    btnmatricula.Enabled = True

                Else
                    Me.txtpreciomatr.Text = ""
                    Me.txtpreciomens.Text = ""

                    MsgBox("ha ingresado un dato en el campo carrera incorrecto")
                    btnmatricula.Enabled = False
                    dr.Close()
                End If
            End If
        End Sub

    Public Sub consultarPrecios(ByRef idcurso As String)
            cmd.Connection = conn
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "SELECT prec_matri, prec_mens FROM [00-curso] WHERE 'cod_curso = '" + idcurso
            Try
                dr = cmd.ExecuteReader()
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try

    miércoles, 2 de septiembre de 2015 8:17

Respuestas

  • hola

    imagino conoces que para tener el evento en el servidor del dropdownlist necesitas asignar el AutoPostBack = true

    despues no veo que el metodo consultarPrecios() retorne ningun valor

    podrias definir una clase

    Public Class Precios
     
        Public Property matri As Decimal
    	Public Property mens As Decimal
    
    End Class
    

    y luego suarla para devolver los datos

    Public Sub consultarPrecios(ByRef idcurso As String) As Precios
    
    	Dim query As String = "SELECT prec_matri, prec_mens FROM [00-curso] WHERE 'cod_curso = @idcurso" 
    	Dim cmd As New SqlConnection(query, conn)
    	cmd.Parameters.AddWithValue("@idcurso", idcurso)
    	
    	Dim dr As SqlDataReader = cmd.ExecuteReader()
    	
    	Dim obj As New Precios
    	
    	If reader.Read() Then
    	  obj.matri = Convert.ToDecimal(reader("prec_matri"))
    	  obj.mens = Convert.ToDecimal(reader("prec_mens"))
    	End If
     
    	Return obj
    	
    End Sub

    como veras se usa siempre parametros, no se concatena en un string los valores de la query

    para suarlo seria

     Dim result As Precio = consultarPrecios(txtcarrera.Text)

    ----

    otro punto en un desarrollo web no se usa NUNCA, pero NUNCA un MsgBox

    no puedes usar nada que provenga de winform en web

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 2 de septiembre de 2015 11:56