elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  fecha corta en bd access y datagridview c#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: fecha corta en bd access y datagridview c#  (Leído 556 veces)
rulovive

Desconectado Desconectado

Mensajes: 46



Ver Perfil WWW
fecha corta en bd access y datagridview c#
« en: 14 Abril 2021, 20:22 pm »

Hola hermosos... me han sacado de muchas dudas y esta es una que a simple vista deberia de parecer sencilla pero no doy...

resulta que tengo una bd en access con una tabla en donde una columna esta definida con el formato fecha/hora, y configurada para que aparezca con fecha corta (al estilo 01/01/2021)... todo bien

luego en visual studio c# tengo un sistema visual con un datagridview enlazado a un dataset enlazado a la tabla anteriormente mencionada.
Dicho datagridview -en la columna correspondiente a fecha- esta definida como una columna con formato de fecha corta (o "d", que es como se le define a ese formato).

a la hora de guardar el registro utilizo el siguiente codigo:
Código:
inventario.registraticket(label9.Text, DateTime.Parse(DateTime.Now.ToShortDateString()),DateTime.Now.ToShortTimeString(), totalizando().ToString());
en donde el primer parametro es el numero de ticket, el segundo parametro es la fecha corta en formato string convertido a un tipo Datetime, el tercer parametro es la hora, y el ultimo parametro es un total, en su correspondiente columna cada parametro... se supone que estoy guardando todo como debe de ser, pero esta mugre columna en el datagridview se aferra a salir de la siguiente forma:
Citar
01/01/2021 12:00:00 a.m.
y no se porque rayos me sale con todo y la hora!!
la unca forma en la que pude lograrlo fue que en la bd de access la cilumna fecha era de tipo texto... pero eso me dificulta mucho hacer comparaciones de fecha en mi sistema... alguna pista?


En línea

K-YreX


Desconectado Desconectado

Mensajes: 905



Ver Perfil
Re: fecha corta en bd access y datagridview c#
« Respuesta #1 en: 14 Abril 2021, 20:36 pm »

El problema supongo que viene de lo siguiente. Tú estás haciendo esto con el segundo parámetro:
x = DateTime.Now -> Devuélveme la fecha/hora actual
y = x.ToShortDateString() -> Conviértelo a cadena de texto en formato fecha
DateTime.Parse(y) -> Convierte esa cadena con la fecha a formato fecha/hora

Es decir que en el último paso, al volver a convertirlo a tipo DateTime estás volviendo a tener la hora (pero no la que tenías porque la has desechado en el paso 2, sino la hora por defecto).

Si lo tienes todo enlazado y no puedes modificar los datos antes de mostrarlos, ahora mismo no se me ocurre cómo hacerlo. En cambio, si puedes tratar los datos antes de mostrarlos, deberías recuperar la fecha/hora de la BD y mostrarla en el datagridview convertida a cadena de texto con la fecha. Es decir guardas la fecha/hora actual (paso 1) y el paso 2 lo realizas al momento de mostrar, no de guardar.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
rulovive

Desconectado Desconectado

Mensajes: 46



Ver Perfil WWW
Re: fecha corta en bd access y datagridview c#
« Respuesta #2 en: 14 Abril 2021, 21:17 pm »

El problema supongo que viene de lo siguiente. Tú estás haciendo esto con el segundo parámetro:
x = DateTime.Now -> Devuélveme la fecha/hora actual
y = x.ToShortDateString() -> Conviértelo a cadena de texto en formato fecha
DateTime.Parse(y) -> Convierte esa cadena con la fecha a formato fecha/hora

Es decir que en el último paso, al volver a convertirlo a tipo DateTime estás volviendo a tener la hora (pero no la que tenías porque la has desechado en el paso 2, sino la hora por defecto).

Si lo tienes todo enlazado y no puedes modificar los datos antes de mostrarlos, ahora mismo no se me ocurre cómo hacerlo. En cambio, si puedes tratar los datos antes de mostrarlos, deberías recuperar la fecha/hora de la BD y mostrarla en el datagridview convertida a cadena de texto con la fecha. Es decir guardas la fecha/hora actual (paso 1) y el paso 2 lo realizas al momento de mostrar, no de guardar.

Voy entendiendo... pero... el datagridview donde se muestra esa info es solo un “contenedor” que jala lo que está guardado en la bd de access. Y de hecho tmb está configurada para que en esa columna  los datos se muestren con formato en fecha  corta... básicamente me dices que cree un bucle que lea cada registro de esa columna para que tome el dato fecha y lo muestre en formato string? Ósea “oculte” el dato verdadero y mostrar uno en otro formato?
En línea

TheMaxjs2

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: fecha corta en bd access y datagridview c#
« Respuesta #3 en: Hoy a las 00:12 »

Me ha servido muchisimo la  informacion!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
insertar fecha con un API en access desde visual basic
Programación Visual Basic
almita 7 3,327 Último mensaje 26 Julio 2005, 15:33 pm
por almita
Ajuste de Fecha al almacenar en BD Access
Programación Visual Basic
GhostLT 0 971 Último mensaje 25 Julio 2010, 08:38 am
por GhostLT
Internet se corta y vuelve, se corta y vuelve « 1 2 »
GNU/Linux
Xedrox 16 14,607 Último mensaje 13 Diciembre 2010, 03:52 am
por wollvar
Como pasar el contenido de dos datagridview a un tercer datagridview
.NET (C#, VB.NET, ASP)
cbr20 3 2,213 Último mensaje 10 Junio 2013, 23:04 pm
por XresH
Insertar fecha en Access
Java
llAudioslavell 0 2,948 Último mensaje 26 Septiembre 2016, 03:27 am
por llAudioslavell
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines