FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con las comillas al conformar una consulta SQL
Saludos Amigos!
Estoy intentando hacer una actulización de un registro en una tabla y me ha dado la lata: Pretendo hacer esto para cuando el programa cargue las claves de usuarios que se han vencido cambien de estado de activo a inactivo y el usuario tenga que cambiar su clave. Pero con '0' me da error de semicolon y si pongo "0" me da error de sintaxis: Falta operador. La base de datos es de Access, no sé si soporta UPDATE, me gustaría usar Replace, pero leí que no lo soporta. Agradeciendo sus ayudas de Antemano Su Amigo Kman. Última edición por kman fecha: 18-08-2006 a las 00:58:09. |
#2
|
||||
|
||||
Hola,
Fíjate que cuando se quiere incluir en una cadena (que en Delphi se presentan entre comillas simples) el propio símbolo de las comillas simples, esto puede hacerse duplicando dicho símbolo, para que Delphi lo tome como tal y no como el "final de una cadena". |
#3
|
||||
|
||||
Dependerá tambien de a que tipo de dato esta definido el campo status_password
__________________
|
#4
|
|||
|
|||
Gracias por responder (y corregir el título ).
Dec: Olvidé mencionarlo, ya había intentado hacerlo como me dices, pero aún me da el Syntax ErrorMissing Operator), Qué operador se requiere? Es solo introducción de caracteres, no es operación lo que hago. ContraVeneno: Ahora que lo mencionas es de tipo numérico single, (hmm.Será ese mi problema?) Se puede o no se puede usar REPLACE con ACCESS?? Última edición por kman fecha: 18-08-2006 a las 01:59:07. |
#6
|
|||
|
|||
Cita:
|
#7
|
||||
|
||||
Yo nunca he visto que en una misma consulta se pueda introducir 2 sqls distintas, una de selección y otra de actualización sin estar anidadas.
Algo del tipo: Si es correcto, pero tú estas metiendo 2 sqls totalmente independientes dentro de la misma consulta. La solución sería lanzar la consulta 1 vez con el SELECT y otra vez con el UPDATE cuando se necesite. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#8
|
|||
|
|||
Cita:
Cita:
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. |
#9
|
||||
|
||||
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:
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:
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. |
#10
|
|||
|
|||
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! |
#11
|
|||
|
|||
Cita:
Cita:
Última edición por kman fecha: 18-08-2006 a las 23:37:08. |
#12
|
||||
|
||||
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. |
#13
|
||||
|
||||
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 Y son equivalentes Así que en Delphi puedes poner:
Y no tienes problema
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#14
|
|||
|
|||
Cita:
Pero si estoy agradecido de todas las ayudas en especial las de LEPE, fueron muy instructivas! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|