Visual Basic.NET - Problema con combobox y función

 
Vista:
sin imagen de perfil
Val: 229
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema con combobox y función

Publicado por José Vicente (113 intervenciones) el 14/03/2021 15:07:27
Hola, tengo la función:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function consulta(ByVal Sql As String)
 
    Dim Dt As New DataTable
 
    Try
 
        Dim adapter As New NpgsqlDataAdapter(llenaSql, conexion)
 
        adapter.Fill(Dt)
 
    Catch ex As Exception
 
        MessageBox.Show("IMPOSIBLE COMPLETAR LA CONSULTA POR " & ex.ToString)
 
    End Try
 
    Return Dt
 
End Function

Con ella lleno un combobox con los encabezados de una tabla.
1
2
3
4
dt = consulta(llenaSql)
minimo_cbox.DataSource = dt
minimo_cbox.DisplayMember = "COLUMN_NAME"
minimo_cbox.SelectedIndex = 0

El problema es que no consigo que al seleccionar un valor del combobox me devuelva el resultado correcto en un label:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub minimo_cbox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles minimo_cbox.SelectedIndexChanged
 
    conexion.Open()
 
    Dim valor1 As String = minimo_cbox.SelectedText
 
    Dim consulta1 As String = " Select min(" & valor1 & ") from datos; "
    Dim comando1 As NpgsqlCommand = New NpgsqlCommand(consulta1, conexion)
    Dim lector1 As NpgsqlDataReader = Nothing
 
    lector1 = comando1.ExecuteReader
 
    lector1.Read()
 
    minValor_lbl.Text = lector1(0)
 
    lector1.Close()
    conexion.Close()
 
End Sub

¿Puede alguien echarme un cable? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 229
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema con combobox y función

Publicado por José Vicente (113 intervenciones) el 21/03/2021 12:23:31
Ya lo he solucionado. Dejo el código por aquí por si le sirve a alguien:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub minimo_cbox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles minimo_cbox.SelectedIndexChanged
 
    conexion.Open()
 
    minValor_lbl.Visible = True
 
    Dim valor1 As String = minimo_cbox.Text
 
    'NOS ASEGURAMOS QUE SIN VALORES FUNCIONA
 
    If Not String.IsNullOrWhiteSpace(valor1) Then
 
        Dim consulta1 As String = " Select min(" & valor1 & ") from datos; "
        Dim comando1 As NpgsqlCommand = New NpgsqlCommand(consulta1, conexion)
        Dim lector1 As NpgsqlDataReader
 
        lector1 = comando1.ExecuteReader
 
        If lector1.Read() Then
 
            minValor_lbl.Text = lector1(0)
 
        End If
 
        conexion.Close()
        conexion.Open()
 
        Dim consulta3 As String = " Select " & valor1 & " from minimos; "
        Dim comando3 As NpgsqlCommand = New NpgsqlCommand(consulta3, conexion)
        Dim lector3 As NpgsqlDataReader
 
        lector3 = comando3.ExecuteReader
 
        lector3.Read()
 
        minValor_lbl.Text = minValor_lbl.Text & " SOBRE UN MÍNIMO DE " & lector3(0)
 
        lector1.Close()
        lector3.Close()
 
    End If
 
    conexion.Close()
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar