Visual Basic - Error de update con MySql utilizando DateTimePicker

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Brett

Error de update con MySql utilizando DateTimePicker

Publicado por Brett (2 intervenciones) el 16/10/2015 01:40:11
¡Buenas!

Bueno, es mi primer tema (?)

Estoy con mi proyecto de fin de curso, y bueno, debo hacer un bello UPDATE con Wamp Server, utilizando MySQL. El código, es el siguiente:

Formulario:
1
2
3
4
5
6
7
8
9
10
11
Public Class Form5
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Asignación de valores a variables Public
        id_paciente = Val(TextBox1.Text)
        fecha_proxima_visita = DateTimePicker1.Value.ToShortDateString()
        ingreso_fecha_proxima_visita(fecha_proxima_visita, id_paciente)
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
End Class

Función en módulo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Imports MySql.Data.MySqlClient
Public fecha_proxima_visita As Date
Public id_paciente As Integer
................
................
................
Function ingreso_fecha_proxima_visita(ByVal fecha_proxima_visita As Date, ByVal id_paciente As Integer)
    consulta = "update pacientes set fechaproxv='" & fecha_proxima_visita & "' where idpaciente='" & id_paciente & "'"
    adaptador = New MySqlDataAdapter(consulta, conexion)
    tabla = New DataTable
    adaptador.Fill(tabla)
    Return MsgBox(fecha_proxima_visita)
    End Function
End Module

Y, bueno, también lo he intentado con el siguiente formato (cambiando parámetros y demás):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Function ingreso_nuevo_trabajo(ByVal id_paciente As Integer, ByVal presupuesto As Double, ByVal detalle As String, ByVal fecha_vencimiento_pago As Date)
        If id_paciente <> 0 And detalle <> "" And presupuesto > 0 And fecha_vencimiento_pago >= hoy Then
            Try
                adaptador.InsertCommand = New MySqlCommand("Insert into trabajos (idpaciente, presupuesto, detalle, fechavencpag) values (@id_paciente,@presupuesto,@detalle,@fecha_vencimiento_pago)", conexion)
                adaptador.InsertCommand.Parameters.Add("@id_paciente", MySqlDbType.Int32).Value = id_paciente
                adaptador.InsertCommand.Parameters.Add("@presupuesto", MySqlDbType.Int64).Value = presupuesto
                adaptador.InsertCommand.Parameters.Add("@detalle", MySqlDbType.VarChar, 500).Value = detalle
                adaptador.InsertCommand.Parameters.Add("@fecha_vencimiento_pago", MySqlDbType.Date).Value = fecha_vencimiento_pago
                conexion.Open()
                adaptador.InsertCommand.Connection = conexion
                adaptador.InsertCommand.ExecuteNonQuery()
                conexion.Close()
            Catch ex As Exception
                MsgBox(ex.Message + Chr(10) + "Error en ingreso de datos." + Chr(10) + "Vuelva a intentarlo")
                error_ingreso = 0
            End Try
            If error_ingreso = 1 Then
                Return (MsgBox("Trabajo ingresado correctamente."))
            End If
        Else
            Return (MsgBox("Hay campos sin completar o la fecha ingresada es menor a hoy." + Chr(10) + "Vuelva a intentarlo."))
        End If
    End Function

Bueno, el primer error que me sale, es el siguiente "Unable to convert MySQL date/time value to System.DateTime", con el cual ni siquiera puedo correr el programa; he leído por allí que, cuando se hace la conexión, hay que darle allow y/o convert datetime zero a true, pero aún así me siguen dando errores, de excepción de inicialización, error de formato de variables (que sí, he intentado cambiarlas, varias veces, pero no he tenido buenos resultados); eso sí, hay veces que puedo ingresar los datos cuando uso una de esas opciones, pero me ingresa "0000/00/00" en la base de datos.

¿Alguna ayuda?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 21
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Error de update con MySql utilizando DateTimePicker

Publicado por Rafael (68 intervenciones) el 16/10/2015 14:33:14
Y que formato tiene tu fecha???
Sin verlo podria apostar a que no es YYYY/MM/DD verdad???

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Brett

Error de update con MySql utilizando DateTimePicker

Publicado por Brett (2 intervenciones) el 17/10/2015 20:27:12
Bueno, la verdad es que no, pero he modificado el formato; el problema ahora, es que no me ingresa nada habiéndole cambiado el formato; en el tercer código que puse arriba, le cambié el formato a Short (en las Propiedades del DateTimePicker, donde quedó en realidad con un formato dd/mm/yyyy que supongo funcionará).

El problema original era por la conexión, que había puesto mal el orden, pero ahora ya no entiendo por qué no ingresa datos cuando el mensaje que sale es que se ha ingresado correctamente (el problema actual es en el tercer código ahora).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar