Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: felix69 en 02 de Enero 2016, 02:31

Título: Visual Basic Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE',
Publicado por: felix69 en 02 de Enero 2016, 02:31
Hola a todos feliz año

Solo trato de guardar registros en una tabla de access  y buscar registros y mostrarlos en un msgbox desde vb.net

Trato de ejecutar una busqueda  y obtengo error de: Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
la conexión con la db esta bien ,al realizar un insert funciona bien ,pero con el select no.

Si alguien puede informarme que estoy haciedo mal se lo agradesere

ES en vb express ,DB en access

Les dejo el codigo

Código: [Seleccionar]
Public Sub Buscar()
        conecting()
        If fperid.Text <> "" Then
           sql = ("SELECT pern,pera,levelname,levelnum,perid FROM personas WHERE perid ="(fperid.Text))
         
            coman.CommandText = sql
        Else
        End If
        Try
            DataR = coman.ExecuteReader()
            'DataR.Read()
            If DataR.HasRows Then
                While DataR.Read
                    MsgBox(DataR(0).ToString + "" + DataR(1).ToString + "" + DataR(2).ToString + "" + DataR(3).ToString + "" + DataR(4).ToString)
                End While
            Else
                MsgBox("No hay Datos")
            End If
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
Título: Re:Visual Basic Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE',
Publicado por: Alex Rodríguez en 05 de Enero 2016, 22:57
Hola, ¿puedes mostrar el insert que te funciona bien?

Por lo que dices el error parece estar en la consulta.

Prueba en lugar de

sql = ("SELECT pern,pera,levelname,levelnum,perid FROM personas WHERE perid ="(fperid.Text))

A escribir algo como esto:
         
sql = ("SELECT pern,pera,levelname,levelnum,perid FROM personas WHERE perid ='" & fperid.Text & "'")

Fíjate que el texto va envuelto en apóstrofes y en usar el operador & de concatenación.

Otra opción que puedes probar es:

sql = ("SELECT pern,pera,levelname,levelnum,perid FROM personas WHERE perid LIKE '" & fperid.Text & "'")

Saludos