none
No graba fechas en la base de datos sql RRS feed

  • Pregunta

  • Hola a todos.

    Tengo un UPDATE que no me quiere grabar las fechas en la base de datos, en los campos indicados. No da absolutamente ningún error al pasar por el método, pero no lo graba. Os dejo la sentencia a ver si no estoy poniendo bien el tema de la date.

     Public Shared Sub ActualizarDatosAlquiler()
            Try
    
                Dim fechaIntalacion As Date = Today.Date
                Dim VtoPrograma As Date = fechaIntalacion.AddDays(365)
                Dim DiasRestantesAlquiler As Integer = CInt(DateDiff(DateInterval.Day, Today.Date, VtoPrograma))
    
                ' Declaramos una variable Connection
                Using cnn As DbConnection = da.CreateConnection()
    
                    ' Creamos el Commando
                    Dim cmd As DbCommand = cnn.CreateCommand()
    
                    cmd.CommandText = "UPDATE Alquileres Set " &
                                      "DataActual = @fechaActual , VtoAlquiler = @vtoAlquiler, clave = @diferDias  "
    
                    With cmd.Parameters
                        .Add(Configuracion.CreateParameter(cmd, "@fechaActual", fechaIntalacion))
                        .Add(Configuracion.CreateParameter(cmd, "@vtoAlquiler", VtoPrograma))
                        .Add(Configuracion.CreateParameter(cmd, "@diferDias", DiasRestantesAlquiler))
                    End With
    
                    ' Asignamos la conexión al comando
                    cmd.Connection = cnn
                    cnn.Open()
                    cmd.ExecuteNonQuery()
                End Using
    
    
            Catch ex As Exception
                MessageBox.Show(ex.Message & vbCrLf & "Fórmula: '2185pJc'" & vbCrLf & vbCrLf &
                          "Acepte para continuar.", "xxxx", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Sub
    Muchas gracias.

    lunes, 7 de septiembre de 2020 2:47

Respuestas

  • Estás creando parámetros sobre "Configuracion" para luego añadirlos al comando "cmd". 

    Puedes crear directamente los parámetros sobre "cmd" con su valor correspondiente:

    ...

    Dim cmd As DbCommand = cnn.CreateCommand()

    cmd.CommandText = "UPDATE Alquileres Set " &
                      "DataActual = @fechaActual , VtoAlquiler = @vtoAlquiler, clave = @diferDias  "

    With cmd.Parameters
        .AddWithValue("@fechaActual", DateTime.Now)
        .AddWithValue("@vtoAlquiler", VtoPrograma)
        .AddWithValue("@diferDias", DiasRestantesAlquiler)
    End With

    ...

    También veo que actualizas todos los registros de la tabla Alquileres. No se si esto es lo que quieres.



    Saludos, Javier J

    • Marcado como respuesta gemma_campillo lunes, 7 de septiembre de 2020 7:19
    lunes, 7 de septiembre de 2020 6:36

Todas las respuestas

  • Estás creando parámetros sobre "Configuracion" para luego añadirlos al comando "cmd". 

    Puedes crear directamente los parámetros sobre "cmd" con su valor correspondiente:

    ...

    Dim cmd As DbCommand = cnn.CreateCommand()

    cmd.CommandText = "UPDATE Alquileres Set " &
                      "DataActual = @fechaActual , VtoAlquiler = @vtoAlquiler, clave = @diferDias  "

    With cmd.Parameters
        .AddWithValue("@fechaActual", DateTime.Now)
        .AddWithValue("@vtoAlquiler", VtoPrograma)
        .AddWithValue("@diferDias", DiasRestantesAlquiler)
    End With

    ...

    También veo que actualizas todos los registros de la tabla Alquileres. No se si esto es lo que quieres.



    Saludos, Javier J

    • Marcado como respuesta gemma_campillo lunes, 7 de septiembre de 2020 7:19
    lunes, 7 de septiembre de 2020 6:36
  • Hola querido Javier:

    Ya está entendido, no atinaba por qué no grababa.

    Muchas gracias como siempre querido amigo.

    Un abrazo.

    Gemma.

    lunes, 7 de septiembre de 2020 7:19
  • Hola gemma_campillo,

     

    gracias por confirmar que encontraste una respuesta a tu pregunta.

     

    Saludos cordiales

     

    Gabriel Castro

    lunes, 7 de septiembre de 2020 20:46
    Moderador