Delphi - formato de fecha con sql server y windows 10

 
Vista:

formato de fecha con sql server y windows 10

Publicado por Branits (1 intervención) el 12/11/2016 04:54:41
Hola amigos, tengo el siguiente problema: tengo una aplicación que acabo de instalar en mi laptop que trae windows 10, esta aplicacion antes funcionaba bien en windows 7, sin embargo en esta oportunidad cuando mando grabar un registro en mi tabla en el campo donde guardo la fecha de operación se graba en sql server como mm/dd/aaaa cuando en realidad quiero dd/mm/aaaa, esta es la secuencia de codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fecha:=DateToStr(DMVentaGeneral.QOperador.Fieldbyname('fecha').AsDateTime);
 
Query:='insert into TipoCambio(codigoTipoCambio,tipoCambioCompra,tipoCambioVenta,fecha,diaAño,'+
     'tipoSunatCompra,tipoSunatVenta,registroInicio) Values( ' +
     QuotedStr(codigoCambio)+','+
     QuotedStr(TCCompraP)+','+
     QuotedStr(TCVentaP)+','+ //fecha +','+
     QuotedStr(fecha)+','+
     QuotedStr(diaAnio)+','+
     QuotedStr(TCCompraS)+','+
     QuotedStr(TCVentaS)+','+
     QuotedStr(IntToStr(DMVentaGeneral.TDatosGenerales.fieldByName('codigoOperacion').asInteger+1)) + ')';
DMVentaGeneral.QOperador.SQL.Clear;
DMVentaGeneral.QOperador.SQL.Add(Query);
DMVentaGeneral.QOperador.ExecSQL;

agradesco desde ya cualquier aporte
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

formato de fecha con sql server y windows 10

Publicado por E.T. (1201 intervenciones) el 12/11/2016 18:21:58
Intenta el siguiente ejercicio, coloca un boton y un memo en un form y ejecute este codigo
1
2
3
4
5
6
7
Memo1.Lines.Add(DateToStr(now));
ShortDateFormat := 'mm/dd/yyyy';
Memo1.Lines.Add(DateToStr(now));
ShortDateFormat := 'dd/mm/yyyy';
Memo1.Lines.Add(DateToStr(now));
Memo1.Lines.Add('Independientemente del formato de sistema, quiero esto:');
Memo1.Lines.Add(FormatDateTime('"mi formato de fecha:" dddd dd "de" mmmm "del" yyyy', Now));
Si nos fijamos esta linea "ShortDateFormat := 'mm/dd/yyyy';" define el formato de fecha que usará delphi, esto lo puedes usar en tu pantalla principal y será usado sólo por tu programa y sólo mientras dure su ejecución. Si quieres tambien puedes hacer el cambio a nivel sistema operativo, cambiando el formato de fecha en el panel de control de windows en "reloj, idioma y region" al cambiar el formato aqui el cambio aplica a todos los programas que se ejecutan, excepto los que usas sus formatos como en el codigo que te puse arriba.
Tambien debes de tener en cuenta que si cambias el formato, puede que te afecte al momento de insertar en tu base de datos segun como hagas la inserción de los campos tipo fecha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar