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
|
|||
|
|||
Consulta SQL con Zeos
Hola gente. Tengo un problema que seguramente debe ser estupido pero estoy tan ciego que no veo la solucion.
Tengo una conexion zeos con mysql 5.1. Quiero hacer un simple select con 2 parametros y me arroja un error en la sintaxis de la consulta.
El error es "cerca" de 'usuarios' (nombre de la tabla) y me manda a revisar el manual, je (cosa que hice, pero no encuentro nada raro). La conexion esta hecha de la siguiente manera: tengo un ZQuery con la propiedad Connection con el ZConnection, y un Datasource con la propiedad Dataset seteado con el ZQuery. Espero puedan ayudarme, abrazo a todos |
#2
|
||||
|
||||
tabla
mmmmmm no parece nada raro, estas seguro que tu tabla se llama "usuarios" . Los nombres de los campos son correctos???
en la propiedad SQL de tu query no le metiste alguna otra consulta. Saludos....
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente.... |
#3
|
||||
|
||||
Hola Compare mira en vez de select tendria que ir INSERT
ojo el ID_Primario de tu tabla USUARIOS dendria que ser auntoincremento. tomaencuenta el detalle. tengo este SQL que lo utilizo para lo mismo q vos y me funciona de maravilla MD5 utilizo para encriptar el password par mas seguridad.
|
#4
|
|||
|
|||
kapcomx los nombres están bien. No se, sigo sin encontrarle respuestas.
Amigo darkbits, yo no necesito un insert, los datos ya están en la base. Lo que quiero es corroborar si los datos ingresados en los edits son correctos chequeando la base. Por eso necesito el select. Gracias a los 2 por responder, pero no he avanzado! |
#5
|
||||
|
||||
yo trabajo con zeos y firebird y esto hago
Código:
Close; DMSIU.cdsMedicos.Active:=false; SQL.Clear; SQL.Add('SELECT * FROM Medicos WHERE 1=1'); case rdgBuscar.ItemIndex of 0:SQL.Add(' AND nombre LIKE ''%'+txtNombreBusq.Text+'%'''); 1:SQL.Add(' AND rfc STARTING '''+txtRfcBusq.Text+''''); end; case rdgOrden.ItemIndex of 0:SQL.Add(' ORDER By nombre'); 1:SQL.Add(' ORDER BY RFC'); end; Open; DMSIU.cdsMedicos.Active:=true; Código:
Close; SQL.Clear; DMSIU.cdsFac.Active:=false; sql.add('select f.clavef, f.documento, f.remision, c.nombre, f.fechae, f.paciente, f.estatus, f.importet, f.condicion, f.sustitu, f.sdoc, fechacan'); sql.add('from facturas f, clientes c where f.tipo =''F'' and SUBSTRING(f.documento from 1 for 1) = ''A'' and f.clavec = c.clavec and '+sCampo+' Like ''%'+Edit1.Text+'%'' ORDER BY f.documento DESC'); Open;
__________________
Todos llevamos nuestros demonios a cuestas.. |
#6
|
||||
|
||||
Copia el mensaje de error aquí
|
#7
|
||||
|
||||
intentar...
ke tal amigo franroju que tal si intentas hacer tu consulta de esta forma:
Saludos...
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente.... |
#8
|
|||
|
|||
No, tampoco funciona. El problema es solo con las query. Ni active ni open funcionan. Las tablas andan bien.
|
#9
|
||||
|
||||
A reserva de que como casi siempre me caigan a palos por regañón (y otras cosas...):
En primer lugar si prestamos atención (un poquito) al mensaje de la excepción Cita:
Segundo: El mensaje: Cita:
Tercero: Regresando a la excepción arrojada por el programa notamos que el motor se está quejando de una consulta que incluye un "LIKE": Cita:
Solución: Hay que buscar en todos los TZQuery para encontrar cual contiene la instrucción citada, posteriormente hay que verificar que no se haya dejado por error (casi a nadie le pasa [sarcasmo incluído]) con la propiedad "Active=TRUE" en tiempo de diseño ya que en esos casos Delphi abre la consulta de manera automática aunque no hagamos un "Open". Finalmente, parece que en el query al que nuestro amigo hace un Open, tienen algunas instrucciones en su evento BeforeOpen o bien AfterOpen que abren otra consulta que es la que provoca el error. Por lo que pareciera que el error sucede al hacer "Open" en el query citado. Finalmente, una aclaración respecto a ExeclSQL y Open: ExecSQL por definició no devolverá datos ya que está diseñada para ejecutar consultas que no lo hacen como INSERT, DELETE o UPDATE sin que esto quiera decir que no podamos ejecutar un SELECT, salvo que los datos devueltos no son tomados en cuenta pues como ya mencioné, ExecSQL no espera que le devuelvan nada. Open, por su parte SI es la que se debe utilizar para ejecutar un SELECT.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#10
|
|||
|
|||
Estimado amigo AzidRain: Gracias por la explicación detallada, pero lamento informarte que toda la descripción no me solucionó el problema.
En lugar de revisar query por query, mirando si estaba la propiedad Active = true desde diseño, o si había alguna sentencia sql que se ejecute en algún lugar extraño, o si había algo en la propiedad BeforeOpen o AfterOpen, hice algo mas sencillo y menos laborioso, que fue crear un proyecto nuevo, una base de datos nueva con una sola tablita, agregué y configuré las componentes de Zeos como siempre y tomando las precauciones que me marcaste, use un ZQuery para insertar un registro (no hubo problema) y un ZReadOnlyQuery para hacer un select. Luego de ejecutar la consulta, le pongo active = true y no hubo dramas, pero al hacer un Open murió, otra vez el mismo error: 'LIKE 'nombredelatabla''. Pongo "nombredelatabla" porque ocurre con cualquier tabla que tenga, y con cualquier consulta. Le ponga apostrofe invertido, comillas simples, dobles o nada. Así que no se, estoy a punto de rendirme, je. O dejar Zeos . Si quieren seguir colaborando será bienvenido. Saludos. |
#11
|
|||
|
|||
Y un día dios me ilumino, y gracias al MySql Command Line Client descubrí el error. Simplemente había que especificar en la consulta, el nombre de la base de datos! , de la siguiente manera:
Gracias a todos igual, ya estaba colgando los botines, je. Abrazo |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Zeos vs DAC??? | damser | Conexión con bases de datos | 1 | 31-10-2011 17:35:04 |
Zeos + Ado | kalisto | Tablas planas | 9 | 09-08-2010 19:29:11 |
Realizar una consulta sobre los registros que devuelve otra consulta | Borjaserrano | Firebird e Interbase | 12 | 01-10-2007 23:19:44 |
consulta sobre zeos | pipecato | Varios | 3 | 05-05-2006 01:35:53 |
zeos | agora18 | MySQL | 0 | 10-02-2004 22:57:47 |
|