Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Delphi + BDE + MSSQL SERVEr 2005 todas las fechas con en null (https://www.clubdelphi.com/foros/showthread.php?t=70545)

DagariK 27-10-2010 00:46:43

Delphi + BDE + MSSQL SERVEr 2005 todas las fechas con en null
 
Buenas Tardes,

verán tengo la siguiente tabla

Código SQL [-]
CREATE TABLE GN_UTLAP (
    COD_USUA VARCHAR(8) NOT NULL,
    USU_SIST VARCHAR(20) NOT NULL,
    NOM_MAQU VARCHAR(20) NULL,
    COD_PROG CHAR(8) NOT NULL,
    FEC_ENTR DATETIME NOT NULL,
    FEC_SALI DATETIME NULL,
    PRO_PROP CHAR(1) NOT NULL,
    DIR_IPLO CHAR(20) NULL
)

esta tabla corresponde a un log de entrada y salida por cada programa que abro del sistema que estoy manejando,

en cada programa tengo una instrucción insert así

Código Delphi [-]
QryGnUtlap.SQL.Text := ' INSERT INTO GN_UTLAP (COD_USUA, USU_SIST, ' +
                           '                       NOM_MAQU, COD_PROG, ' +
                           '                       FEC_ENTR, PRO_PROP, ' +
                           '                       DIR_IPLO) ' +
                           '             VALUES   (:P_COD_USUA, :P_USU_SIST, ' +
                           '                       :P_NOM_MAQU, :P_COD_PROG, ' +
                           '                       :P_FEC_ENTR, :P_PRO_PROP, ' +
                           '                       :P_DIR_IPLO) ';

    QryGnUtlap.Params.ParamByName('P_COD_USUA').AsString := pStCodUsua;
    QryGnUtlap.Params.ParamByName('P_USU_SIST').AsString := pStUsuSist;
    QryGnUtlap.Params.ParamByName('P_NOM_MAQU').AsString := pStNomMach;
    QryGnUtlap.Params.ParamByName('P_COD_PROG').AsString := pStCodProg;
    QryGnUtlap.Params.ParamByName('P_FEC_ENTR').AsDateTime := lDtFecServ;
    QryGnUtlap.Params.ParamByName('P_PRO_PROP').AsString := 'S';
    QryGnUtlap.Params.ParamByName('P_DIR_IPLO').AsString := Trim(GetIps.Text);
    QryGnUtlap.ExecSQL;

los parámetros se calculan de varias maneras,

el error radica en los campos fecha, ya que apesar de que la fecha lleva el valor de la fecha del servidor (de base de datos calculada a traves de un GETDATE()) indica que no se pueden insertar valores nulos, pensé que era solamente ésta tabla pero resulta que es en cualquier campo fecha de cualquier tabla, es un problema una base de datos, ya que en otras funciona perfecto, no sé que puede ser, si alguien puede brindarme un concejo lo aceptaré

olbeup 27-10-2010 09:07:33

Nunca he usado los ParamByName y no se como se comportan, pero antes de ejecutar la SQL (QryGnUtlap.ExecSQL) mira ver que SQL envía al servidor, ShowMessage(QryGnUtlap.SQL.Text), para ver si encuentras algo.

Un saludo.

Neftali [Germán.Estévez] 28-10-2010 12:40:32

Habría que saber qué contiene la variable:
lDtFecServ;

Y en qué formato la estás enviando.
¿Cómo la obtienes?


La franja horaria es GMT +2. Ahora son las 03:13:40.

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