Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2012
hondaalberto hondaalberto is offline
Miembro
 
Registrado: sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 14
hondaalberto Va por buen camino
me sigue dando el error... y el campo es del tipo date...
Responder Con Cita
  #2  
Antiguo 06-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Da más información o pon el código fuente que lo veamos (copia->pega), que no somos adivinos
Responder Con Cita
  #3  
Antiguo 06-08-2012
hondaalberto hondaalberto is offline
Miembro
 
Registrado: sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 14
hondaalberto Va por buen camino
El código en donde estoy utilizando el Componente DatetimePicker es el Siguiente:

Código Delphi [-]

procedure TFFacturadeVentas.BGuardarClick(Sender: TObject);
......
TCabVentasTemp.FieldByName('Fecha').Value:= DTPFecha.Date;


procedure TFFacturadeVentas.TCabVentasTempBeforePost(DataSet: TDataSet);
....
 TCabVentasTemp.FieldByName('Fecha').Value:= DTPFecha.Date;



procedure TFFacturadeVentas.FormActivate(Sender: TObject);
...
 DTPFecha.Date:=Date; // Componente Datetimepicker




 procedure TFFacturadeVentas.DBGDatosDblClick(Sender: TObject);
 ....
 FieldByName('Fecha').Value:= DTPFecha.Date;




procedure TFFacturadeVentas.DBGDatosColExit(Sender: TObject);
....

DataSource.DataSet.FieldByName('Fecha').Value:= DTPFecha.Date;
Responder Con Cita
  #4  
Antiguo 06-08-2012
hondaalberto hondaalberto is offline
Miembro
 
Registrado: sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 14
hondaalberto Va por buen camino
Este es el codigo de las Dos tablas en donde intento enviar esos datos de fecha:

Código SQL [-]
CREATE TABLE [dbo].[Lin_Ventas_Temp](
    [Documento_Tipo] [nvarchar](15) NOT NULL,
    [Documento_No] [int] NOT NULL,
    [Fecha] [datetime] NOT NULL,
    [Cliente_No] [int] NOT NULL,
    [Producto_No] [int] NOT NULL,
    [Descripcion] [nvarchar](50) NOT NULL,
    [Cantidad] [decimal](25, 2) NULL,
    [Precio_de_Venta] [money] NULL,
    [Descuento] [money] NULL,
    [Porciento_Itbis] [decimal](25, 2) NOT NULL,
    [Importe_Itbis] [money] NOT NULL,
    [Grupo_Itbis] [nvarchar](7) NOT NULL,
    [Usuario] [nvarchar](50) NOT NULL,
    [Fecha_Hora_Registro] [nvarchar](22) NOT NULL




CREATE TABLE [dbo].[Cab_Ventas_Temp](
    [Documento_Tipo] [nvarchar](15) NOT NULL,
    [Fecha] [datetime] NOT NULL,
    [Documento_No] [int] NOT NULL,
    [No_Documento_Externo] [nvarchar](15) NULL,
    [Cliente_No] [int] NOT NULL,
    [Cliente_Nombre] [nvarchar](50) NOT NULL,
    [RNC] [nvarchar](11) NULL,
    [Numero_Comprobante_Fiscal] [nvarchar](19) NOT NULL,
    [Serie_NCF] [nvarchar](10) NOT NULL,
    [Importe] [money] NOT NULL,
    [Itbis] [money] NOT NULL,
    [Efectivo] [money] NOT NULL,
    [Cheque] [money] NOT NULL,
    [Tarjeta] [money] NOT NULL,
    [Transferencia] [money] NOT NULL,
    [Credito] [money] NOT NULL,
    [Descuento] [money] NOT NULL,
    [Usuario] [nvarchar](50) NOT NULL,
    [Fecha_Hora_Registro] [nvarchar](22) NOT NULL,
    [Direccion] [nvarchar](50) NOT NULL,
    [Contacto] [nvarchar](50) NULL,
    [Telefono] [nvarchar](15) NULL,
    [Fax] [nvarchar](15) NULL,
    [Tel_Movil] [nvarchar](15) NULL,
    [Tel_Oficina] [nvarchar](15) NULL,
    [PaisNombre] [nvarchar](50) NOT NULL,
    [CiudadNombre] [nvarchar](50) NOT NULL,
Responder Con Cita
  #5  
Antiguo 07-08-2012
hondaalberto hondaalberto is offline
Miembro
 
Registrado: sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 14
hondaalberto Va por buen camino
El Registro en la Base de Datos se Graba en el Campo Fecha de la Siguiente Manera:

2012-08-06 00:00:00.000

lo que necesito es que se grabe solo la fecha sin todos esos ceros.
Responder Con Cita
  #6  
Antiguo 07-08-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola Creo que aquí
Código SQL [-]
[Fecha] [datetime] NOT NULL,
está creando el campo fecha del tipo fecha y hora, ¿o no? por eso requiere que también ingreses la hora cosa que si pones el DTPFecha.Date falta la hora (DTPFecha.DateTime es completo).
El tema es que si queres que solo sea fecha deberias redefinir el campo...

Me parece que es eso

Saludos

Aca algo dice - Referencia microsoft
Responder Con Cita
  #7  
Antiguo 07-08-2012
hondaalberto hondaalberto is offline
Miembro
 
Registrado: sep 2010
Ubicación: República Dominicana
Posts: 67
Poder: 14
hondaalberto Va por buen camino
Muchas Gracias Martin por tu respuesta he probado lo que me has indicado cambiando el Campo al tipo de datos Date y me devuelve el siguiente error:

Código Delphi [-]--------------------------- Debugger Exception Notification --------------------------- Project RetailPos.exe raised exception class EOleException with message 'Error al convertir una cadena de caracteres en fecha y/u hora'. Process stopped. Use Step or Run to continue. --------------------------- OK Help ---------------------------



En el datetimepicker tengo las Siguientes Propiedades configuradas

Format = 2012/08/06
Kind = dtkDate
Time = 12:00:00 AM
DateFormat =dfShort
Responder Con Cita
  #8  
Antiguo 07-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por hondaalberto Ver Mensaje
El Registro en la Base de Datos se Graba en el Campo Fecha de la Siguiente Manera:
2012-08-06 00:00:00.000
lo que necesito es que se grabe solo la fecha sin todos esos ceros.
Un momento, creo que estás confundido (o nos estás confundiendo a todos )

¿Cómo sabes que en la BD se graba con ese formato?, ¿no será que tú lo visualizas con alguna utilidad y se presenta con ese formato?
Responder Con Cita
  #9  
Antiguo 07-08-2012
Avatar de javier7ar
javier7ar javier7ar is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 124
Poder: 19
javier7ar Va por buen camino
A ver... vamos por pasos:

1 - En MS SQL Server no existia el campo de tipo Fecha (Date) solo; solo existia el campo de tipo FechaHora (DateTime) A partir de la version 2008 aparecen Date y Time por separado aparte del DateTime de siempre.
Pero si ya tenes creada la base de datos y el campo es DateTime te puede servir lo que sigue.

2 - Si queres guardar solamente la fecha y no la hora, en Delphi hace esto:
Código Delphi [-]
TCabVentasTemp.FieldByName('Fecha').AsDateTime:= INT(DTPFecha.DateTime);
Esto es porque el tipo FechaHora (DateTime en SQL Server y TDateTime en Delphi) estan representados por un numero flotante/real, y guardan la fecha en la parte entera y la hora en la parte decimal. La funcion INT() te devuelve la parte entera de un numero flotante/real

3 - Si no queres que te muestre los 00:00:00 de la hora eso ya es una cuestion de formato, pero si estan en cero quiere decir que solo tiene la fecha, y la hora esta en cero
Para que no muestre los ceros tenes dos opciones:

- Desde SQL Server:
Código SQL [-]
select convert(varchar(10), CampoFecha, 103) as FechaBonita
from Tabla
Pero ojo que ahi el tipo del campo devuelto por la consulta pasa a ser String (varchar)
Podes ver en la ayuda de la funcion Convert los diferentes formatos que tiene (103 es el formato dd/mm/aaaa)

- Desde Delphi:
En la Query/Table en la que haces la consulta, agregas el campo y le modificas la propiedad DisplayFormat le pones el valor dd/mm/aaaa (o el formato que mas te guste)
De esta forma el campo sigue siendo de tipo DateTime pero se muestra solo la parte de la fecha

Bueno, espero te sirva de ayuda esto
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
manejo del datetimepicker AquiLuis OOP 3 21-04-2010 00:41:55
Guardar Solo Hora usando DateTimePicker georgejg Conexión con bases de datos 6 23-03-2008 10:12:29
Fechas y Datetimepicker en delphi5 zcatzz Varios 16 15-05-2007 23:16:50
Between DateTimePicker com fechas iguais le4br SQL 3 23-02-2005 05:18:56
Problema usando datetimepicker con MySql tebyr MySQL 5 19-11-2004 17:38:39


La franja horaria es GMT +2. Ahora son las 17:27:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi