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 29-01-2011
tiago_begins tiago_begins is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 15
Poder: 0
tiago_begins Va por buen camino
Problema con parametros

Hola amigos, necesito una ayuda urgente.
No sé que es lo que esta mal en este código:

Código Delphi [-]
begin
    sSQL:= ' DELETE FROM turnos WHERE ID_PACIENTE= :ID_PACIENTE AND DATE_FORMAT( FECHA_HORA, ' + QuotedSTR( '%Y%m%d' ) + ')= ' + QuotedSTR( FormatDateTime( 'yyyyMMdd'))= :FECHA_HORA;
        //DATE_FORMAT( FECHA_HORA, ' + QuotedSTR( '%H:%i' ) + ' ) '= QuotedSTR( FormatDateTime( 'yyyyMMdd')= ':fecha_hora');
        qryEXEC:=TZQuery.Create(nil);
        qryEXEC.SQL.Add( sSQL );
        qryEXEC.ParamByName( 'ID_PACIENTE' ).Value:= Data.qryTurno.FieldByName( 'ID_PACIENTE' ).Value;
        qryEXEC.ParamByName( 'FECHA_HORA' ).Value:= Data.qryTurno.FieldByName( 'FECHA_HORA' ).Value;
        qryEXEC.Connection:= Data.Conx;
        qryEXEC.ExecSQL();
        FreeAndNil( qryEXEC );
        Data.qryTurno.Refresh;
    end;

Tengo que decirle que me elimine los datos que están en FECHA_HORA con la ID_PACIENTE correspondiente, pero los datos de FECHA_HORA con este formato FormatDateTime( 'yyyyMMdd')

Mi error creo que está en esta línea:

Código Delphi [-]
sSQL:= ' DELETE FROM turnos WHERE ID_PACIENTE= :ID_PACIENTE AND DATE_FORMAT( FECHA_HORA, ' + QuotedSTR( '%Y%m%d' ) + ')= ' + QuotedSTR( FormatDateTime( 'yyyyMMdd'))= :FECHA_HORA;

espero su ayuda
Responder Con Cita
  #2  
Antiguo 29-01-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué base de datos es?
Responder Con Cita
  #3  
Antiguo 29-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Como presenta la fecha el campo ?:
Código Delphi [-]
Data.qryTurno.FieldByName( 'FECHA_HORA' ).Value
y Como presenta la fecha el campo FECHA_HORA de la tabla turnos?.
Si es que FECHA_HORA es un campo?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 29-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
CONCATENACION????:
Código Delphi [-]
sSQL:= ' DELETE FROM turnos WHERE ID_PACIENTE= :ID_PACIENTE AND '+
       'DATE_FORMAT( FECHA_HORA, ' + QuotedSTR( '%Y%m%d' ) + ')= ' +
       QuotedSTR( FormatDateTime( 'yyyyMMdd')) +'= :FECHA_HORA';
El ultimo parametro presentado (:FECHA_HORA) DEBE SER, parte de la consulta.
Por eso hay que concatenarlo.
No se, digo...
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 29-01-2011
tiago_begins tiago_begins is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 15
Poder: 0
tiago_begins Va por buen camino
Mysql

La base de datos es MySql.

La tabla es turno y los campos ID_PACIENTE Y FECHA_HORA

El formato de la fecha es yyyyMMdd
Responder Con Cita
  #6  
Antiguo 29-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Entonces para que la formateas la fecha?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 29-01-2011
tiago_begins tiago_begins is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 15
Poder: 0
tiago_begins Va por buen camino
Clarooo

Muchas gracias, estaba pabeando formatando la fecha para solo eliminarla

Pero... tengo otra ahora:

Código Delphi [-]
qryExec:= TZQuery.Create(nil);
qryEXEC.SQL.Add(' INSERT INTO turno ( ID_PACIENTE, FECHA_HORA , ' +'DATE_FORMAT( FECHA_HORA, ' + QuotedSTR( '%H:%i' ) + ' )) values ( :ID_PACIENTE, :FECHA_HORA))');
        qryExec.ParamByName( 'ID_PACIENTE' ).Value:= Data.qryPAC.FieldByName ( 'ID_PACIENTE' ).value;
        qryExec.ParamByName ( 'FECHA_HORA').Value:= sHora;
        qryExec.Connection:=Data.Conx;
        qryExec.ExecSQL;
        FreeAndNil (qryExec);
        Data.qryTurno.Refresh;

me da error en la Syntaxis de MySql ( en la parte del código: 'DATE_FORMAT( FECHA_HORA, ' + QuotedSTR( '%H:%i' ) + ' ), tengo que guardar en el Campo FECHA_HORA el valor de la variable sHora
Responder Con Cita
  #8  
Antiguo 29-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Asi?:
Código Delphi [-]
qryExec:= TZQuery.Create(nil);
qryEXEC.SQL.Add(' INSERT INTO turno ( ID_PACIENTE, FECHA_HORA ) '+
          ' values ( :ID_PACIENTE, :FECHA_HORA)');
        qryExec.ParamByName( 'ID_PACIENTE' ).Value:= Data.qryPAC.FieldByName ( 'ID_PACIENTE' ).value;
        qryExec.ParamByName ( 'FECHA_HORA').Value:= FormatDateTime( 'yyyyMMdd', sHora );
        qryExec.Connection:=Data.Conx;
        qryExec.ExecSQL;
        FreeAndNil (qryExec);
        Data.qryTurno.Refresh;
No esto muy seguro del FormatDateTime (nunca lo he usado, pero esa es la idea.
El parametro no tiene por que contener el formato, es cuando se le da valor que lo debe contener.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 29-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Otra es formatear la fecha antes:
Código Delphi [-]
qryExec:= TZQuery.Create(nil);
ShortDateFormat := 'yyyyMMdd';
qryEXEC.SQL.Add(' INSERT INTO turno ( ID_PACIENTE, FECHA_HORA ) '+
          ' values ( :ID_PACIENTE, :FECHA_HORA)');
        qryExec.ParamByName( 'ID_PACIENTE' ).Value:= Data.qryPAC.FieldByName ( 'ID_PACIENTE' ).value;
        qryExec.ParamByName ( 'FECHA_HORA').Value:=  sHora;
        qryExec.Connection:=Data.Conx;
        qryExec.ExecSQL;
        FreeAndNil (qryExec);
        Data.qryTurno.Refresh;
Saludos
__________________
Siempre Novato
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
problema con dll y parametros JoseQ OOP 3 03-02-2006 11:11:41
Problema con parámetros en UDF's Héctor Randolph Firebird e Interbase 5 21-12-2004 07:59:55
Problema parametros TAdoQuery Tio Conexión con bases de datos 4 02-06-2004 11:50:24
Problema con parámetros o sesiones __cadetill PHP 8 17-11-2003 22:31:52
Problema con ibDataSet y parametros. Nuria Conexión con bases de datos 8 01-08-2003 10:40:50


La franja horaria es GMT +2. Ahora son las 13:51:52.


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