none
Error de sintaxis VB10

    Pregunta

  • Hola foro de VB, el motivo  de mi pregunta, es sobre un error que me sale al guardar datos de fecha, hora en una base de datos access, al introducir una fecha no me pone el valor igual en access me lo cambia, y en la hora me sale un error el cual es el siguiente: Error de sintaxis  (falta operador) en la expresión de consulta '02:10'

    Espero y me puedan ayudar a solucionar los errores, a continuación les dejo el código que tengo en el botón de guardar:

      If fecha.Text = "" Then
                ' Si no lo escribió, mando mensaje de error
                MsgBox("Debe incluir una respuesta en la fecha")
                fecha.Select()
            Else
                
                ' Armo la instrucción INSERT en la variable SQL
                sql = "INSERT INTO Libros (Fecha,Hora) VALUES (" & fecha.Text & "," & hora.Text & ")"

                ' Asigno la instrucción SQL que se va a ejecutar
                comm.CommandText = sql

                Try
                    comm.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(Err.Description, MsgBoxStyle.Exclamation, "base")
                End Try
            End If

    sábado, 11 de marzo de 2017 19:44

Respuestas

  • Hola,que controles son fecha y hora , son textbox?, de ser asi que valores ingresas.

    podrías intentar utilizar parámetros

    ........
     Sql = "INSERT INTO Libros (Fecha,Hora) VALUES (@fecha,@hora)"
                comm.Parameters.AddWithValue("@fecha", Convert.ToDatetime(fecha.Text))
                comm.Parameters.AddWithValue("@hora", Convert.ToDatetime(hora.Text))
                ' Asigno la instrucción SQL que se va a ejecutar
                comm.CommandText = Sql
                Try
                    comm.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(Err.Description, MsgBoxStyle.Exclamation, "base")
                End Try
    ........
    quizás tambien necesites hacer alguna conversión con el Convert.ToDatetime


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    sábado, 11 de marzo de 2017 20:25

Todas las respuestas

  • Hola,que controles son fecha y hora , son textbox?, de ser asi que valores ingresas.

    podrías intentar utilizar parámetros

    ........
     Sql = "INSERT INTO Libros (Fecha,Hora) VALUES (@fecha,@hora)"
                comm.Parameters.AddWithValue("@fecha", Convert.ToDatetime(fecha.Text))
                comm.Parameters.AddWithValue("@hora", Convert.ToDatetime(hora.Text))
                ' Asigno la instrucción SQL que se va a ejecutar
                comm.CommandText = Sql
                Try
                    comm.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(Err.Description, MsgBoxStyle.Exclamation, "base")
                End Try
    ........
    quizás tambien necesites hacer alguna conversión con el Convert.ToDatetime


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    sábado, 11 de marzo de 2017 20:25
  • Muchas gracias Augusto, me ayudo tu respuesta,  saludos. 
    sábado, 11 de marzo de 2017 21:41