Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2010, 13:31
AlterElt
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 2 meses
Puntos: 0
Fechas y formato (pregunta clásica a la que no encuentro respuesta...)

SOLUCIONADO


Hola! a ver si mepodéis ayudar con esta cuestión. Trabajo en VB .net.

Tengo un DateTimePicker del cual obtengo una fecha en formato DD/MM/YYYY, el caso es que la base de datos que utilizo (SQLite) requiere que los campos de tipo DATETIME tengan el formato YYYY/MM/DD.

Por todo esto creo esta función:

Código vb:
Ver original
  1. 'Dim dt As New DataTable
  2.    Private Function FechaToSQLite(ByRef fecha As Date)
  3.         '************************************************************************************
  4.        '*   Nombre: FechaToSQLite                                                          *
  5.        '*   Parametros de entrada: fecha en formato dd/mm/yyyy                             *
  6.        '*   Parametros de salida: fecha en formato yyyy/mm/dd                              *
  7.        '*   Función: Procedimiento que formatea la hora para guardarla en el               *
  8.        '*              formato de la base de datos                                         *
  9.        '*   Versión: v1.0   16 Feb 2010   XXXXXX XXXXX XXXXXXXXX ([email protected])     *
  10.        '*                                                                                  *
  11.        '************************************************************************************
  12.  
  13.         Dim fechaT As String
  14.         fechaT = fecha.ToString("yyyyMMdd")
  15.         Return fechaT
  16.  
  17.     End Function

a la que llamo desde el evento click de un botón:

Código vb:
Ver original
  1. 'tratamos el datetimepicker dtpNacimiento
  2.        Dim fechaNacimiento As New Date
  3.         fechaNacimiento = dtpNacimiento.Value.Date
  4.         'MsgBox(fechaNacimiento)
  5.        FechaToSQLite(fechaNacimiento)
  6.         'MsgBox(fechaNacimiento)

dtpNacimiento es el DateTimePicker.

El caso es que he probado de mil formas y me es imposible realizar la conversión.

Eso por una parte, por la otra....

Todo esto es para luego enviarlo a la base de datos con:

Código vb:
Ver original
  1. 'Creamos la conexión a la base de datos definida como datasource en Settings
  2.        Dim conexion As New SQLite.SQLiteConnection(My.Settings.origConnectionString)
  3.  
  4.         'Insertamos los datos en la base de datos
  5.        Dim comando As New SQLite.SQLiteCommand("INSERT INTO CLIENTES (nombre, apellido1, apellido2, sexo, fechanacimiento, fechaingreso, telefono, movil, correoe, domicilio, poblacion, provincia, cp, pais, especialidad) VALUES ('" + txtNombre.Text + "', '" + txtApellido1 + "', '" + txtApellido2 + "', '" + sexo + "', '" + fechaNacimiento + "', '" + fechaIngreso + "', '" + txtTelefono + "', '" + txtMovil + "', '" + txtCorreoe + "', '" + txtDomicilio + "', '" + txtPoblacion + "', '" + txtProvincia + "', '" + txtPais + "', '" + cbEspecialidad.SelectedItem + "')", conexion)

Ahí en la sentencia SQL me marca un error que la verdad no entiendo: "El operador "+" no esta definido para los tipos 'String' y System.Windows.Forms.TextBox'.".... en otro punto del código he hecho una consulta igual pero con un SELECT, con lo cual no veo la diferencia....

¿Podríais ayudarme con esto?

Saludos y gracias

Última edición por AlterElt; 17/02/2010 a las 16:41