FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
AYUDA! problemas con querys
hola...tengo 2 fallos en este codigo....y no se el porque!! si alguien me echa una mano...le estare eternamente agradecido!!
uso DBE con paradox 7....en delphi 7 dm1 es un datamodule donde se encuentran las querys, tablas y demas ME DA ESTOS TRES FALLOS: en la linea 2: undeclared identifier: 'clear' en la linea 3: Missing operator or semicolon en la linea 3 operator not applicable to this operand type sera por el sum? por el text? decidme como solucionarlo!! |
#2
|
||||
|
||||
Hola,
Para que al menos te compilara:
Digo que es para que te compilara porqué no tengo muy claro lo que quieres hacer con el asterisco este que le pones... seguro que lo que quieres hacer no es un like? Fíjate que no puede tratarse del sum dado que los SQL se interpretan en tiempo de ejecución o de diseño en algunos casos, pero no en tiempo de compilación. Saludos. Última edición por __marcsc fecha: 12-06-2004 a las 09:29:31. |
#3
|
|||
|
|||
lo del asteristo es "cuando el campo titular vale '*' ", asi k no me pongas cosas raras :P
el open lo ponia despues!! haber k te crees se me da mal la programacion, pero no es pa tanto. ahora te comente si sigue fallando editado: sigue fallando!!!
Última edición por azaagh fecha: 12-06-2004 a las 09:14:10. |
#4
|
||||
|
||||
Cita:
Cita:
Cita:
La propiedad Text no forma parte del Query, sinó de la propiedad SQL del query. Revisa el código que te pasé y verás que está en negrita. (esto me lo había olvidado en el mensaje original, ahora lo he editado para que salga el correcto, piensa que cuando escribí esto eran las cinco de la mañana ) En el segundo error que dices, fíjate que vuelves a cometer el fallo de dejar de usar el carácter ' para cerrar correctamente los strings. Como a veces esto cuesta de seguir, Delphi incluye la función QuotedStr, que te mencionaba antes, que hace justamente esto, si tu le pasas un string, digamos "Hola", QuotedStr, te devuelve "'Hola'", es decir, entre comillas simples. Saludos Última edición por __marcsc fecha: 12-06-2004 a las 09:33:27. |
#5
|
|||
|
|||
la culpa es tuya!!! no habias puesto query.SQL.text!!!!
no me vengas con que eran las 5 de la mañana y tal... que yo llevo to la noxe sin dormir dandole vueltas al programa... bueno, de todas formas, es mejor tarde que nunca , asi que practicamente he acabado el programa y puedo dormir feliz en fin...no te lo vas a creer, pero aun pone missing operator or semicolon!!! y no falta ni un punto y coma!!! Última edición por azaagh fecha: 12-06-2004 a las 10:11:19. |
#6
|
||||
|
||||
Cita:
Cita:
|
#7
|
|||
|
|||
el fallo me da en todos los sitios que tengo consultas.... un ejemplo:
me dice el mensaje de error en la linea 3, la del sql.text...."missing operator or semicolon"..pero yo no veo k falta ningun semicolon en la consulta no me digas,porque ya lo he probado y sigue igual PD: ya te creias que esta durmiendo?? hasta que esto no funcione no puedo!! |
#8
|
||||
|
||||
Versión 1:
Versión 2:
A que la 2 se entiende mejor? Venga! A dormir!! |
#9
|
|||
|
|||
lo reconozco...eso ha funcionado...pero que es esa funcion? pa ke sirve?
usala aqui...que da el mismo fallo y no se donde meterla:
no creo k me vaya a dormir...me he tomao 5 litros de cafe y estoy to enzarpao Última edición por azaagh fecha: 12-06-2004 a las 11:19:21. |
#10
|
||||
|
||||
Mírate la ayuda de la función, verás que te dice que entrecomilla el texto que le pasas como parámetro
__________________
Si no tienes algo que decir más importante que el silencio, cállate |
#11
|
|||
|
|||
malas noticias: eso ultimo que me has puesto
tambien da error de missing operator or semicolon nolontiendo |
#12
|
||||
|
||||
Perdón, cierto, la propiedad Text no funciona así, sustituye el Text por Add o bien
__________________
Si no tienes algo que decir más importante que el silencio, cállate |
#13
|
|||
|
|||
me alegra saberlo!!
solo me faltaba los errores de los querys para terminar el proyecto... nove, y yo llevo 2 dias pensando que era de la otra forma!!! pero weno, ya solo me queda que funcione y los retoques finales! gracias a todos los k me aveis ayudados esta semana!!! espero no necesitar mas vuestra ayuda!!! (no me gusta nada programar) PD: os pondre en los creditos editado: PD: me equivoqué... ..tengo un ultimo fallo..lo comento en otro hilo Última edición por azaagh fecha: 12-06-2004 a las 11:56:25. |
#14
|
||||
|
||||
Vamos a ver, ataquemos el problema des del principio...
Te estás confundiendo porqué Delphi y SQL utilizan el mismo operador para denotar un string. Imaginate que tu quieres escribir un SQL de este estilo
Ok, hasta aquí no problem. El problema viene cuando tu, utilizando código fuente Delphi, quieres generar esta sentencia. Lo que tu, por lo que veo, intentarías es
Este código no compila. Porqué? Vale, hagamos una suposición. Imaginate que las cadenas en Delphi se denotan con " y no con ' . Verdad que sería lógico escribir:
Pues aquí está el problema: que confundes lo que son los carácteres de string que forman parte de la sentencia SQL y los que forman parte de Delphi porqué se denotan igual. En el código que no compila, no lo hace por lo siguiente, el compilador detecta un string, y un identificador no válido: 'SELECT * FROM equipos WHERE Nombre = '//este es el string que interpreta Pepito' //esto se queda colgado y hace que no compile lo que hay que hacer en delphi para poder utilizar el carácter ' dentro de un string en código es ponerlo dos veces. Por esto el código correcto en Delphi es:
Para lo que sirve la función QuotedStr es para no tener que escribir todas estas comillas, lo que hace es agregarte el carácter ' al principio y final del string. (esto ya te lo contaba en un mensaje anterior, y lo puedes mirar en el help de Delphi) Por esto, el código más leible es
Espero que te sirva el rollo. Saludos! EDIT: Coño, vaya despiste con la propiedad Text... Sin comentarios... Última edición por __marcsc fecha: 12-06-2004 a las 12:12:23. |
#15
|
|||
|
|||
muy bien explicado, ahora lo pillo... ahora que ya funciona....
|
|
|
|