none
Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en System.Data.dll RRS feed

  • Pregunta

  • Tengo el siguiente código para hacer una búsqueda dinámica pero me genera error al ingresas una letra en el textBoxImports

    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Data.SqlClient

    Public Class Form1
        Public CONEXION As New OleDbConnection("Provider=SQLOLEDB;" &
                                                 "Data Source=MM\SQLEXPRESS;" &
                                                 "Integrated Security=SSPI;" &
                                                 "Initial Catalog=PIRA")

        Dim SQL As String
        Public ORDEN_BD As OleDb.OleDbCommand
        Private D_TABLE As DataTable
        Private D_ADAPTER As OleDbDataAdapter
        Dim SELECCION As String

        Sub CONSULTA()
            CONEXION.Open()
            If SELECCION <> "TODOS" Then
                SQL = "SELECT * FROM Alumno_prueba WHERE " & SELECCION & " LIKE '%" & BUSQUEDA.Text & "%' ORDER BY CARNET"
            Else
                SQL = "SELECT * FROM Alumno_prueba ORDER BY Carnet"
            End If

            ORDEN_BD = New OleDb.OleDbCommand(SQL, CONEXION)
            ORDEN_BD.CommandType = CommandType.Text
            ORDEN_BD.ExecuteNonQuery()
            D_ADAPTER = New OleDbDataAdapter(ORDEN_BD)
            D_TABLE = New DataTable
            D_ADAPTER.Fill(D_TABLE)
            DataGridView1.DataSource = D_TABLE
            CONEXION.Close()
        End Sub

        Private Sub BUSQUEDA_TextChanged(ByVal sender As Object, e As EventArgs) Handles BUSQUEDA.TextChanged
            SELECCION = BUSQUEDA.Text
            SELECCION = "%" & SELECCION & "%"
            Call CONSULTA()
        End Sub
    End Class

    --> El error que me genera es:

    Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en System.Data.dll

    --> Y dependiendo la letra que ingrese en el textBox me tira el siguiente error:

    Información adicional: Incorrect syntax near 'd'.

    Gracias por su ayuda

               
    viernes, 5 de octubre de 2018 23:24

Respuestas

  • Hola David Zebra:

    SQL = "SELECT * FROM Alumno_prueba WHERE " & SELECCION & " LIKE '%" & BUSQUEDA.Text & "%' ORDER BY CARNET"

    Si tu idea es que el elemento visual busque en una tabla por cualquier valor que coincida con un campo, lo estas plasmando erroneamente, porque tu sentencia dice, dame todos los campos de alumnoPrueba donde:

    '%d%' like '%d%'

    lo que hay despues del where debiera de ser el campo de la tabla a buscar.

    where DESCRIPCION LIKE ......

    o como se lllame la columna por la que realizar la búsqueda.

    • Marcado como respuesta Pablo Rubio martes, 9 de octubre de 2018 15:37
    sábado, 6 de octubre de 2018 7:58