Autor Tema: System.Data.OleDb.OleDBException: No coinciden los tipos de datos en la expresió  (Leído 4797 veces)

Masterpy

  • Sin experiencia
  • *
  • Mensajes: 3
    • Ver Perfil
Buenas colegas, me presento: Soy estudiante de Ingeniería en Sistemas Informáticos. Soy principiante en programación y estoy llevando la Materia de Visual Basic, y la verdad no sé como resolver este error:

System.Data.OleDb.OleDBException: No coinciden los tipos de datos en la expresión de criterios

. Les agradecería un montón si me pueden ayudar.

« Última modificación: 08 de Octubre 2016, 18:41 por Ogramar »
Danny

Masterpy

  • Sin experiencia
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Error en Visual Basic
« Respuesta #1 en: 27 de Septiembre 2016, 23:33 »
Este es mi código

De mi Form 1

Código: [Seleccionar]
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        conectarse()


    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim id As String
        id = TextBox1.Text
        consultar(id)

    End Sub
End Class



De mi modulo

Código: [Seleccionar]
New OleDb.OleDbCommand
    Public dr As OleDb.OleDbDataReader



    Public Sub conectarse()

        Try
            conn.Open()
            MsgBox("Conexion Exitosa")
        Catch ex As Exception
            MsgBox(ex.ToString)

        End Try


    End Sub

    Public Sub consultar(ByRef identificacion As String)
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text

        If identificacion <> "" Then
            cmd.CommandText = "SELECT NOMBRES, APELLIDOS, CORREO, DIRECCION FROM PERSONA WHERE IDPERSONA=" + identificacion
        Else
            cmd.CommandText = "SELECT NOMBRES, APELLIDOS, CORREO, DIRECCION FROM PERSONA "
        End If

        Try
            dr = cmd.ExecuteReader()

            If dr.HasRows Then
                While dr.Read()
                    MsgBox(dr(0).ToString + " " + dr(1).ToString + " " + dr(2).ToString + " " + dr(3).ToString)

                End While
            Else
                MsgBox("No existen registros para la consulta")

            End If

            dr.Close()

        Catch ex As Exception
            MsgBox(ex.ToString)


        End Try
    End Sub
End Module

« Última modificación: 08 de Octubre 2016, 18:37 por Ogramar »
Danny

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas parece que identificacion es un String

Public Sub consultar(ByRef identificacion As String)

En la expresión WHERE IDPERSONA=" + identificacion

es posible que te indique que no coinciden los tipos de datos, es decir, que IDPERSONA es un valor numérico mientras que identificacion es un tipo String

Es posible que el error esté relacionado con esto.

Puede que te sea de ayuda este curso donde están los conceptos básico de Visual Basic: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Salu2

Masterpy

  • Sin experiencia
  • *
  • Mensajes: 3
    • Ver Perfil
Muchas gracias por la respuesta. Voy a seguir investigando.
Danny

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".