Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Cita:
Empezado por Lepe
Yo nunca he visto que en una misma consulta se pueda introducir 2 sqls distintas...
Cita:
Empezado por Lepe
Si es correcto, pero tú estas metiendo 2 sqls totalmente independientes dentro de la misma consulta.
Saludos Lepe.
Me gustaría que me explicaras, o me mostraras un código(verás soy un poquito novato).
Pensaba que con el Select estaba realizando un tipo de filtro en base a la fecha y que apartir de ahí el update se realizaría, pensaba estar en lo correcto ya que el error de sintaxis apunta a una falta de operador no de otra cosa.

Última edición por kman fecha: 18-08-2006 a las 15:15:19.
Responder Con Cita
  #2  
Antiguo 18-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
El error de "falta operador" lo puede dar simplemente porque falte el punto y coma final de la instrucción SELECT. Es decir, encuentra un error, muestra el mensaje y no sigue procesando el sql restante.... de ahí que el error que muestra no coincide con el error verdadero.

Ya que has explicado un poco más lo que quieres hacer, creo que la solución sería esta:
Código SQL [-]
UPDATE PASSWORDS SET Status_Password = 0 where Status_Password = 1 and Fecha_Inactiva like +timer

Ahora si estas restringiendo el update a la fecha y a la condición Status_Password. Lo que no me queda claro es usar comodines cuando el campo se llama Fecha. Si en el campo Fecha_inactiva guardas una fecha en formato Datetime, tendrás que acotar de otra forma la restricción, es decir:

Código Delphi [-]
quer1.sql.text := 'UPDATE PASSWORDS SET Status_Password = 0 where Status_Password = 1 and Fecha_Inactiva between :fecha1 and :fecha2'
query1.params.parambyname('fecha1').Value := strtodate(edit1);
query1.params.parambyname('fecha2').Value := strtodate(edit2);

Si el campo de fecha lo tienes declarado como Texto, no eches cuenta a lo de arriba .


Un SELECT siempre devuelve datos, en forma de filas y columnas y casi siempre necesitarás un Grid u otro control para ver los resultados.

Un UPDATE / DELETE / INSERT nunca devuelve un conjunto de datos, como mucho devuelve en su propiedad RowsAffected el número de registros afectados por la instrucción (en Access no puedo asegurar que esto último que sea cierto, no he trabajado con él).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 18-08-2006 a las 15:33:21.
Responder Con Cita
  #3  
Antiguo 18-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Interesante Explicación!

Gracias lepe!
Ya me quedó claro lo que debo hacer, gracias por la ayuda la pondré en práctica cuando llegue a casa(Estoy En El Trabajo Fuera De Delphi).
Solo espero que Access no me de problemas.

Gracias Mil!
Responder Con Cita
  #4  
Antiguo 18-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Cita:
Empezado por kman
Solo espero que Access no me de problemas.
Al final si me dio problemas: "Current Provider does not support returning multiple recordsets from a single execution".
Cita:
Empezado por Lepe
...como mucho devuelve en su propiedad RowsAffected el número de registros afectados por la instrucción (en Access no puedo asegurar que esto último que sea cierto, no he trabajado con él).
Que suerte la mia!

Última edición por kman fecha: 18-08-2006 a las 23:37:08.
Responder Con Cita
  #5  
Antiguo 19-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Mirando por el foro he encontrado este hilo, donde dice que la palabra "password" access la tiene reservada, por lo que no puede usarse. En este caso era un campo que se llamaba "password", no sé si pasa lo mismo con el nombre de una tabla.

Antes de hacer modificaciones, expón el código aqui para echarle un vistazo. Al menos, la sql y el procedimiento donde lo usas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 19-08-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Lo más sencillo para responder a tu pregunta original era utilizar comillas dobles en la consulta de SQL. SQL acepta tanto sencillas como dobles para cadenas.
de manera que
Código SQL [-]
SET USER_PASSWORD='1'
Y
Código SQL [-]
SET USER_PASSWORD="1"
son equivalentes

Así que en Delphi puedes poner:

Código Delphi [-]
  MyQuery.SQL.Add( 'UPDATE TABLA SET USER_PASSWORD="1" ');

Y no tienes problema
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 19-08-2006
kman kman is offline
Miembro
 
Registrado: dic 2005
Ubicación: República Dominicana.
Posts: 67
Poder: 19
kman Va por buen camino
Cita:
Empezado por Lepe
...Antes de hacer modificaciones, expón el código aqui para echarle un vistazo. Al menos, la sql y el procedimiento donde lo usas.
Saludos
Lo voy a dejar como caso perdido, el cambiar el nombre de la tabla implicaría muchos cambios de códigos donde utilizo la tabla. De todas formas pude hacer algo no profesional pero hace el trabajo:Cuando el usuario introduce su ID y clave realizo una busqueda en la tabla y comparo las fecha de vencimiento que si es igual a la actual editar el campo Status_Password igual a cero y blah blah blah.

Pero si estoy agradecido de todas las ayudas en especial las de LEPE, fueron muy instructivas!
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
Que significa este codigo? D-MO PHP 14 23-01-2006 10:08:21
procedimiento almacenado ayuda con este codigo pipecato Varios 5 16-12-2005 12:24:34
No me gusta este Codigo, Me ayudan?! marceloalegre Varios 5 28-10-2005 01:27:27
Por que no funciona este codigo en XP? kia Varios 3 15-10-2003 21:39:33
¿Qué significa este Código de Control??? Combat-F2D Impresión 3 18-06-2003 00:23:48


La franja horaria es GMT +2. Ahora son las 13:43:12.


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