Foros del Web » Programación para mayores de 30 ;) » .NET »

Guardar solo la fecha sin la hora de un control Datetimepicker

Estas en el tema de Guardar solo la fecha sin la hora de un control Datetimepicker en el foro de .NET en Foros del Web. Saludos a todos los del foro. Bueno, pues mi pregunta es la siguiente: como puedo guardar la fecha sin la hora en una base de ...
  #1 (permalink)  
Antiguo 16/10/2008, 20:23
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Guardar solo la fecha sin la hora de un control Datetimepicker

Saludos a todos los del foro.

Bueno, pues mi pregunta es la siguiente: como puedo guardar la fecha sin la hora en una base de datos Sql Server. Estoy usando un control Datetimepicker para seleccionar la fecha y el tipo en el Sql Server es Datetime.
Lo que llevo hasta ahorita me guarda la fecha y la hora en la BD, esta en C#:

private void button2_Click(object sender, EventArgs e)
{
DateTime fecha = dateTimePicker1.Value;

string cadena = "server=""; database=""; integrated security=true";

SqlConnection conexion = null;

try
{

string registro = "insert into Equipos (FechaCompra) values (@fecha)";

conexion = new SqlConnection(cadena);

conexion.Open();

SqlDataAdapter puente = new SqlDataAdapter("select * from "",conexion);

SqlCommand comando = new SqlCommand(registro, conexion);
comando.Parameters.AddWithValue("@fecha", fecha);

puente.InsertCommand = comando;

DataTable tabla = new DataTable();
puente.Fill(tabla);

DataRow fila = tabla.NewRow();
fila["FechaCompra"] = fecha;

Espero su gran ayuda.
Gracias.
  #2 (permalink)  
Antiguo 17/10/2008, 10:26
Avatar de sagma  
Fecha de Ingreso: septiembre-2004
Ubicación: Santa Cruz de la Sierra - Bolivia
Mensajes: 136
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Guardar solo la fecha sin la hora de un control Datetimepicker

que tal, fijate:

yo lo pongo de esta manera, cuando estoy haciendo el insert.

Me.dtp_fechaNac.Value.ToShortDateString

suerte
__________________
Sagma -- :arriba:
  #3 (permalink)  
Antiguo 17/10/2008, 17:29
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Guardar solo la fecha sin la hora de un control Datetimepicker

Primero gracias a Sagma por contestar.
Bueno, me di por vencido y tuve que usar el tipo String para las fechas en lugar del tipo Datetime. Solo hice la conversion explicita del tipo datetime a string:

string fecha = Convert.ToString(dateTimePicker1.Value.ToShortDate String());

En SQL Server 2005 Management tambien cambié el campo donde tenía definida la fecha a tipo nvarchar en lugar del tipo datetime que habia definido antes.

Por lo menos ya guarda solo la fecha sin la hora en el registro, lo que nose es si me va generar errores cuando quiera realizar operaciones entre fechas.
  #4 (permalink)  
Antiguo 09/08/2010, 12:47
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Guardar solo la fecha sin la hora de un control Datetimepicker

Solo usa

dateTimePicker1.Value.Date;

eso te da la fecha sin la hora, o bueno la hora a las 12:00:00 am

eso es lo que te guardara en SQL

si solo quieres exactamente la pura fecha:

En tu campo SQL usa esto (para fecha actual)

(convert(varchar(10),getdate(),112))

Si usas datasets DataSet's
(convert(varchar(10),@Fecha,112))

sorry 4 delayt
  #5 (permalink)  
Antiguo 09/08/2010, 13:10
Avatar de xjuanch0x  
Fecha de Ingreso: septiembre-2009
Mensajes: 125
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Guardar solo la fecha sin la hora de un control Datetimepicker

Cita:
Iniciado por meme_cabo Ver Mensaje
Primero gracias a Sagma por contestar.
Bueno, me di por vencido y tuve que usar el tipo String para las fechas en lugar del tipo Datetime. Solo hice la conversion explicita del tipo datetime a string:

string fecha = Convert.ToString(dateTimePicker1.Value.ToShortDate String());

En SQL Server 2005 Management tambien cambié el campo donde tenía definida la fecha a tipo nvarchar en lugar del tipo datetime que habia definido antes.

Por lo menos ya guarda solo la fecha sin la hora en el registro, lo que nose es si me va generar errores cuando quiera realizar operaciones entre fechas.
Esto es muy mala idea, no se debe manejar fechas como tipo de datos Texto, yo lo que haría seria esto:

select convert(varchar(10),getdate(),112) en la consulta que me trae la fecha
__________________
Juan David Torres Vasquez
[email protected]
Microsoft Certified Technology Specialist (MCTS)
DCE Platinum en Visual C# y VB.NET
  #6 (permalink)  
Antiguo 10/08/2010, 08:36
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Guardar solo la fecha sin la hora de un control Datetimepicker

Yo tampoco manejaria como texto la fecha, estoy de acuerdo con pepecker ya que con dateTimePicker1.Value.Date.ToString() te regresa la fecha por ejemplo la de hoy seria :
10/08/2010 12:00:00 a.m. que es la forma en que se registra en tu BD si el campo es DateTime. Por otro lado si utilizas un string para manipular o dar formato a la fecha a tu gusto porque no conviertes a datetime antes de insertar.
  #7 (permalink)  
Antiguo 27/09/2010, 22:18
 
Fecha de Ingreso: septiembre-2010
Mensajes: 20
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Guardar solo la fecha sin la hora de un control Datetimepicker

Saludos a todos!!

fijense que yo tambien tengo un problema con el datetimepicker.

tengo un form con un datetimepicker y al seleccionar la fecha quiero que se guarde e un campo de una tabla en sql2005, el campo es smalldatetime, mi linea de codigo para guardarla es mediante un query de
INSERT INTO entradas (fecha) VALUES '"+dateTimePicker1.Value.Date.ToString()+"';
y corro el programa paso a paso y me pone fecha corta.
Pero no me lo guarda me marca un error en sql "The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value."
y si le quito las '' y queda asi "+dateTimePicker1.Value.Date.ToString()+".
me lo guarda pero me pone una fecha que no seleccione.
porfavor me podrian ayudar muchas gracias por adelantado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:55.