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

datetime en C#

Estas en el tema de datetime en C# en el foro de .NET en Foros del Web. hola, estoy haciendo una aplicacion en C· y tengo el siguiente problema: el visual.net esa en ingles y el sql server que utilizo como base ...
  #1 (permalink)  
Antiguo 07/08/2005, 07:41
 
Fecha de Ingreso: abril-2004
Ubicación: Mvdeo. Uruguay
Mensajes: 6
Antigüedad: 20 años
Puntos: 0
datetime en C#

hola, estoy haciendo una aplicacion en C· y tengo el siguiente problema: el visual.net esa en ingles y el sql server que utilizo como base esta en español.
En la aplicacion C# tengo un datetimepicker donde selecciono una fecha que luego sera insertada en la base de datos.
Los problemas son:
1) El datetime picker me inserta no solo la fecha sino tambien la hora, hay alguna manera que no insertar la hora???
2) El datetimepicke me tira la fecha en el formato mes/dia/año y la base de datos tiene el campo con formato dia/mes/año
Hay alguna manera de cambiar el formato a la fecha que me tira el datetimepicker y que pueda insertar la fecha en el formato correcto de la base??

Muchas Gracias
  #2 (permalink)  
Antiguo 07/08/2005, 12:46
Avatar de Scour  
Fecha de Ingreso: octubre-2003
Ubicación: Murcia (España)
Mensajes: 94
Antigüedad: 20 años, 6 meses
Puntos: 0
Muy buenas, con respecto a la segunda pregunta, si haces el insert con el objeto parameter, te cambiará la fecha automáticamente al formato correcto en base de datos

Código:
private void Page_Load(object sender, System.EventArgs e)
{
 string conexion = "Data Source=localhost;User id=sa;Password=sa;Initial Catalog=agenda";

 SqlConnection con = new SqlConnection (conexion);
 SqlCommand cmd = new SqlCommand("insert into loqsea (fecha) values (@fech)", con);

 cmd.Parameters.Add("@id", SqlDbType.DateTime).Value = DateTime.Parse(MiFecha.Text);

 try
 {
 cmd.ExecuteNonQuery();
 }
 catch (Exception errorMens)
 {

      error.Visible = true;
      error.Text = errorMens.Message;
 }
 finally
 {
      cmd.Connection.Close();
 }
}
A mi así, con parametros no me ha dado problemas nunca cuando los idiomas son distintos, además de que evita el SQL Inyection (cosa más que importante).

Otra forma es meter la fecha en formato YYYYMMDD sin barras (/) por ejemplo 20051202 (02/12/2005).

Con respecto a lo primero, no se si desde la aplicación se puede hacer, por que al hacer la conversión de tipo a DateTime te mete la hora a 0:00:00 si esta no estaba especificada, pero si te haces un procedimiento almacenado de transact-sql, con el objeto DataPart podrás seleccionar lo que quieres insertar.

Otra cosa que puedes hacer es que aunque se inserte la hora en base de datos, no mostrarla en la aplicación:

Código:
Label1.Text = DateTime.Parse(Dataset.Tables[0].Rows[0][0].ToString()).ToShortDateTime();
Y con eso no muestras en la aplicación la hora.

Saludos.
  #3 (permalink)  
Antiguo 17/02/2008, 17:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 2
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: datetime en C#

hola estoy haciendo una aplicacion en C# y bueno es sobre una agencia bancaria, la misma cada cierto tiempo selecciona una cuenta cuyo saldo será utilizado por el Ministerio de Economía y Planificación. Para ello debe tener en cuenta lo siguiente:
El criterio de selección será la más lejana a su fecha de expiración (a partir de la fecha actual proporcionada).
No se como trabajar con el Datetime alguien me pudiera ayudar pleasee
Saludos
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 19:27.