none
consulta a base de datos access desde vb

    Pregunta

  • hola buenos dias tengo este problema con esta consulta soy nuevo en programación pero no e podido encontrar la solución.

    escribo en el textbox en numero 98 que es el unico registro que necesito pero me sale ese error si me ayudaran muchas gracias.

    la conexión esta en un modulo y funciona bien y esta con = cn 

    la tabla se llama datosempresa

    el error que tengo es en esta linea

    adaptador.Fill(registros, "datosempresa")

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

    Información adicional: No coinciden los tipos de datos en la expresión de criterios.

    Dim sql As String
    Dim adaptador As New OleDb.OleDbDataAdapter
    Dim registros As New DataSet
    Dim lista As Byte
            Dim codigo As Integer
            codigo = 98
            If codigo = 98 Then
                sql = "SELECT * FROM datosempresa WHERE Id='" & TextBox1.Text & "'"
                adaptador = New OleDb.OleDbDataAdapter(sql, cn)
                registros = New DataSet
                adaptador.Fill(registros, "datosempresa")
                lista = registros.Tables("datosempresa").Rows.Count
                If lista <> 0 Then
                    dtvmodificar.DataSource = registros
                    dtvmodificar.DataMember = "datosempresa"
                    txtNombre.Text = registros.Tables("datosempresa").Rows(0).Item("nombre")
                    'txtapellido.Text = registros.Tables("contactos").Rows(0).Item("apellido")
                    'txtnumero.Text = registros.Tables("contactos").Rows(0).Item("codigo")
                Else
                    MsgBox("no se exitiste un dato con ese nombre", vbCritical, "Fundacion 4E")
                    txtNombre.Clear()
                    txtNombre.Focus()
                    'txtapellido.Clear()
                    'txtnumero.Clear()
                End If
            End If

    martes, 29 de noviembre de 2016 16:09

Respuestas

  • Hola:
    Prueba con algo parecido a esto.

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Me.txtNombre.Text = ""
            Try
                Using loConexion As New OleDbConnection("TU_CADENA_DE_CONEXION")
                    loConexion.Open()
                    Dim lsQuery As String = "SELECT NOMBRE FROM datosempresa  Where id=@Id"
                    Using loComando As New OleDbCommand(lsQuery, loConexion)
                        loComando.Parameters.Add(New OleDbParameter("@Id", Me.TextBox1.Text))
                        Using loDataReader As OleDbDataReader = loComando.ExecuteReader()
                            Do While loDataReader.Read()
                                Me.txtNombre.Text = loDataReader.Item("NOMBRE").ToString()
                            Loop
                        End Using
                    End Using
                End Using
            Catch ex As Exception
                MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        End Sub

    Un saludo desde Bilbo
    Carlos
    martes, 29 de noviembre de 2016 22:17