Visual Basic.NET - consulta

 
Vista:
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

consulta

Publicado por Miguel (281 intervenciones) el 24/05/2017 12:41:08
Puede alguien indicarme el error que tengo en esta consulta.

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
Sub cargaGasIng()
    Try
        Dim ingreso As String = "Ingreso_c"
        Dim gasto As String = "Gasto_c"
        Dim consulta As String = "Select * From GastoIngreso WHERE Operacion = " & ingreso & " OR Operacion = " & gasto & " AND IdCalde = " & CInt(txtIdCalde.Text)
        da = New OleDbDataAdapter(consulta, cn)
        ds = New DataSet
        da.Fill(ds, "GastoIngreso")
        cn.Close()
        Dim dr As DataRow
        dr = ds.Tables("GastoIngreso").Rows(fila)
        Me.txtId.Text = Convert.ToString(dr("Id"))
        Me.txtIdCaldeG.Text = Convert.ToString(dr("IdCalde"))
        Me.txtOperacion.Text = Convert.ToString(dr("Operacion"))
        Me.txtFechaG.Text = Convert.ToString(dr("Fecha"))
        Me.dgv.DataSource = ds.Tables("GastoIngreso")
        Me.dgv.CurrentCell = dgv.Rows(fila).Cells(0)
        muestraFormato()
    Catch ex As Exception
        If Err.Number = 9 Or Err.Number = 5 Then
            LimpiarGroupBox(gbGastos)
            LimpiaDgv()
        Else
            MsgBox(ex.Message, MsgBoxStyle.Information, ToString)
        End If
    End Try
End Sub

Tengo un solo registro que cumple las dos condiciones pero no me lo saca en el DataGridView

Gracias y un saludo
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
Imágen de perfil de Diego
Val: 605
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

consulta

Publicado por Diego (190 intervenciones) el 27/05/2017 03:41:00
Hola Miguel, en principio, donde veo un error es en la linea 5, donde pasas 2 parámetros de cadena y no los encierras con comillas simples, tu linea 5 deberia ser asi:

1
Dim consulta As String = "Select * From GastoIngreso WHERE Operacion = '" & ingreso & "' OR Operacion = '" & gasto & "' AND IdCalde = " & CInt(txtIdCalde.Text)


Otra cosa que no comprendo es, porque haces un cn.close(), si en ningun lugar lo abris explicitamente, el DataAdapter gestiona conexion y desconexion automáticamente.

Y en esta linea, no veo de donde obtiene su valor "fila":
1
dr = ds.Tables("GastoIngreso").Rows(fila)

En todo caso podrías probar escribiendo
1
dr = ds.Tables("GastoIngreso").Rows(0)

No seguí leyendo tu código, asi que no se si hay algún otro error, pero esos 3 puntos que te menciono, deberías de tenerlos en cuenta.

Saludos y +Bytes,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar