none
error en consulta

    Pregunta

  • tengo la siguiente codigo, se supone exa_pac_puntero trae una direccion que apunta a un archivo PDF
    la idea, como hago que cuando pinche en algun boton o habla doble click en el registro me ejecute el PDF 
    Dim connection As SqlConnection = New SqlConnection("Data Source=OSCAR-PC\SQLEXPRESS;Initial Catalog=Proyecto_titulo;Integrated Security=True")
        Dim adapter As SqlDataAdapter = New SqlDataAdapter( _
         "SELECT * FROM examenes_pacientes e , pacientes p where exa_pac_fecha BETWEEN" & fecha1 & "and" & fecha2 & _
         "and p.idpacientes = e.idpacientes " & _
         "and p.pc_rut =" & rut & _
         "and e.exa_pac_codigo" & examen, connection)
        Dim custDS As DataSet = New DataSet()
        adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
        adapter.Fill(custDS, "examenes_pacientes")
    
        Me.DataGridView1.DataSource = custDS.Tables("exa_pac_puntero")
    Cuando ejecuto el codigo, me arroja un error que dice "Se especificó una expresión no booleana en un contexto donde se esperaba una condición, cerca de 'BETWEEN20'."

    jueves, 29 de abril de 2010 3:18

Respuestas

  • hola

    voy a recomendarte lo que simpre digo usa parametros en la query, no concatenes string

    algo como esto

    Dim custDS As New DataSet()

    Dim connstring As String = "Data Source=OSCAR-PC\SQLEXPRESS;Initial Catalog=Proyecto_titulo;Integrated Security=True"
    Using connection As New SqlConnection(connstring)

        Dim sql As String = "SELECT * FROM examenes_pacientes e " & _
                            "INNER pacientes p JOIN ON p.idpacientes = e.idpacientes " & _
                             "WHERE exa_pac_fecha BETWEEN @fechadesde and @fechahasta " & _
                             "and p.pc_rut = @rut " & _
                             "and e.exa_pac_codigo = @examen"
                     
        Dim cmd As New SqlCommand(sql,connection)
        cmd.Parameters.AddWithValue("@fechadesde", fecha1)
        cmd.Parameters.AddWithValue("@fechahasta", fecha2)
        cmd.Parameters.AddWithValue("@rut", rut)
        cmd.Parameters.AddWithValue("@examen", examen)
       
       
        Dim adapter As New SqlDataAdapter(cmd)
        adapter.Fill(custDS, "examenes_pacientes")
       
    End Using

     

    el uso del using tambien es buena practica con este te aseguras la correcta destruccion de los objetos de conexion

    igual no entendi lo que segui del PDF, pero imagino que el problema no estaba alli sino en esta consulta

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta oscarsmn lunes, 3 de mayo de 2010 15:44
    jueves, 29 de abril de 2010 3:29

Todas las respuestas

  • hola

    voy a recomendarte lo que simpre digo usa parametros en la query, no concatenes string

    algo como esto

    Dim custDS As New DataSet()

    Dim connstring As String = "Data Source=OSCAR-PC\SQLEXPRESS;Initial Catalog=Proyecto_titulo;Integrated Security=True"
    Using connection As New SqlConnection(connstring)

        Dim sql As String = "SELECT * FROM examenes_pacientes e " & _
                            "INNER pacientes p JOIN ON p.idpacientes = e.idpacientes " & _
                             "WHERE exa_pac_fecha BETWEEN @fechadesde and @fechahasta " & _
                             "and p.pc_rut = @rut " & _
                             "and e.exa_pac_codigo = @examen"
                     
        Dim cmd As New SqlCommand(sql,connection)
        cmd.Parameters.AddWithValue("@fechadesde", fecha1)
        cmd.Parameters.AddWithValue("@fechahasta", fecha2)
        cmd.Parameters.AddWithValue("@rut", rut)
        cmd.Parameters.AddWithValue("@examen", examen)
       
       
        Dim adapter As New SqlDataAdapter(cmd)
        adapter.Fill(custDS, "examenes_pacientes")
       
    End Using

     

    el uso del using tambien es buena practica con este te aseguras la correcta destruccion de los objetos de conexion

    igual no entendi lo que segui del PDF, pero imagino que el problema no estaba alli sino en esta consulta

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta oscarsmn lunes, 3 de mayo de 2010 15:44
    jueves, 29 de abril de 2010 3:29
  • ¡Hola!

    ¿Las informaciones fueran utiles para solucionar su problema?

    ¡Gracias!
    Rafael Fagundes - Marque la respuesta como correcta si te ha sido de utilidad!
    lunes, 3 de mayo de 2010 12:58
    Moderador
  • Disculpenme, lo que pasa que no habia tenido acceso a Internet y no sabia que habia una respuesta

    pero si me sirvio y mucho y mas encima aprendi Buenas Practicas

    Saludos
    lunes, 3 de mayo de 2010 15:45