PDA

Ver la Versión Completa : Formato de Fecha


agustin173
15-10-2010, 00:38:19
Hola muchachos como estan todos

Cuando Grabo la fecha en el sistema me la pone de la siguiente siguiente manera 2010/10/14 y debe ser 14/10/2010 me explico mejor

Estoy usando delphi 7
uso SQL Server 2008
windows 7 en ingles pero le baje la actualizacion en español y esta en español
el regional del windows esta en Republica Dominicana con el formato de fecha 14/10/2010.
Una tabla llamada = Pais
con tres campos = codigo(int), fecha(Date), Pais(varchar(25))

el codigo es el siguiente:

// Guardar los Datos en la Base de Datos
Temp.SQL.Clear;
Temp.Sql.Text:='Insert into Pais (Pais, Fecha) values(:Pais, :Fecha)';
Temp.Parameters.ParamByName('PAIS').Value:= EDPais.text;
Temp.Parameters.ParamByName('FECHA').Value:= FormatDateTime('yyyy/mm/dd',now);
Temp.ExecSQL;
ShowMessage('Registro Guardado Con Exito');
PaisGuardar.Enabled := False;
PaisCancelar.Enabled := False;
PaisNuevo.Enabled := True;


Lo que sucede es lo siguiente la fecha la coge automatica del sistema y la fecha esta de la siguiente manera 14/10/2010 o sea dd/mm/yyyy y la graba bien pero cuando consulto me la trae como 2010/10/14 o sea yyyy/mm/dd que no debe ser.

pense que seria porque la pose asi yyyy/mm/dd cuando lo cambio asi dd/mm/yyyy me da un error y me dice que la fecha no conside con el formato que puedo hacer para que me salga la fecha asi 14/10/2010 ayudenme por favor no entiendo este eneredo.

ContraVeneno
15-10-2010, 00:43:36
// Guardar los Datos en la Base de Datos
Temp.SQL.Clear;
Temp.Sql.Text:='Insert into Pais (Pais, Fecha) values(:Pais, :Fecha)';
Temp.Parameters.ParamByName('PAIS').Value:= EDPais.text;
Temp.Parameters.ParamByName('FECHA').Value:= now;
Temp.ExecSQL;
...


Lo interesante de usar parámetros es que no tienes que hacer conversiones... siempre y cuando la fecha esté declarada como fecha...

Ahora, solo tendríamos que ver dónde y cómo lo estas mostrando.

agustin173
15-10-2010, 00:56:18
contraveneno

lo puse como me digiste pero me da un error a la hora de grabar el error es el siguiente:

La aplicacion utiliza un valor de tipo no valido para la operacion actual

y lo manda a la linea "Temp.execsql" ese error proviene de la lineas de la fecha

olbeup
15-10-2010, 09:03:47
En SQL SERVER 200? las fechas se graban conforme está configurado tu ordenador en configuración regional del panel de control de Windows, que lo habitual es dd/mm/yyyy, y a la hora de recuperar los datos en este caso es una fecha siempre te la devuelve en formato yyyy/mm/dd, y en tu Grid la fecha te saldrá dd/mm/yyyy, no se cual es el problema que tienes.

Un saludo.

BlueSteel
15-10-2010, 18:03:43
A mi me pasaba lo mismo.. el SQL me graba la fecha con el formato yyyy/mm/dd y para poder mostrar la fecha a mis consultas le pongo la siguiente sentencia



Select codigo, Convert(Char(10), fecha, 103) As Fecha, pais
From Pais


no se si esto te sirva...

Salu2:D:p

agustin173
15-10-2010, 23:30:03
no me funciono nada de eso no se que hacer, pero creo que el problema es el windiows 7 este.

agustin173
15-10-2010, 23:32:02
el problema es que me cuando la consulta me la devuelve yyyy/mm/dd y se voy fisicamente a los datos en la basde de dato tambien esta yyyy/mm/dd.

Caral
15-10-2010, 23:39:34
Hola
Tal vez usando:
ShortDateFormat := 'dd/mm/yyyy';
Cuando traes los datos.
Saludos

ecfisa
16-10-2010, 04:02:14
el problema es que me cuando la consulta me la devuelve yyyy/mm/dd y se voy fisicamente a los datos en la basde de dato tambien esta yyyy/mm/dd.

Cuando nombraste Windows 7, me acordé de este post (http://www.clubdelphi.com/foros/showthread.php?t=68756&highlight=Fecha+windows+7), quizá te pueda servir.

Saludos. :)

agustin173
19-10-2010, 03:25:03
que va nada funciona, pero se que es el windows talvez cuando reinstale un dia podre ver el error.

Roilo
12-04-2011, 17:33:32
Hola
Tal vez usando:
ShortDateFormat := 'dd/mm/yyyy';
Cuando traes los datos.
Saludos

GRACIAS CARAL!!!!! eso me gustó y me sirbió... :p