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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  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 3,168 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: 1.008



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: 1 Agosto 2021, 00:12 am »

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 4,474 Último mensaje 26 Julio 2005, 15:33 pm
por almita
Ajuste de Fecha al almacenar en BD Access
Programación Visual Basic
GhostLT 0 1,484 Último mensaje 25 Julio 2010, 08:38 am
por GhostLT
Como pasar el contenido de dos datagridview a un tercer datagridview
.NET (C#, VB.NET, ASP)
cbr20 3 3,625 Último mensaje 10 Junio 2013, 23:04 pm
por XresH
Insertar fecha en Access
Java
llAudioslavell 0 4,258 Último mensaje 26 Septiembre 2016, 03:27 am
por llAudioslavell
Llenado de dataGridView con Access en winform c++/cli
Programación C/C++
llogui 2 2,646 Último mensaje 26 Septiembre 2021, 16:26 pm
por llogui
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines