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 12-03-2020
pepesoft pepesoft is offline
Miembro
 
Registrado: ago 2014
Posts: 15
Poder: 0
pepesoft Va por buen camino
materializar consulta mysql

hola amigos necesito de su ayuda, no puedo resolver esta consulta con TUniQuery de los componentes DEVART con conexión a una base de datos mysql. Siempre me da error.
los campos contienen informacion cifrada con AES. Y el texto para la muestra es cifrado.
Código Delphi [-]
    with TUniQuery do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT * FROM usuarios ');
      SQL.Add('WHERE usuario = :usuario ');
      SQL.Add(' AND password = :password ' );
      ParamByName('usuario').AsString  := 'ULKTKFeJbZjKbMVusjc+pZ2GiVRti+XCwNec1OHEnCc=';
      ParamByName('password').AsString := 'SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=';
      Open;
    end;
este es el error
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near 'and password = SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=' at line 3

espero alguna forma de solucion para este problema.

Última edición por Casimiro Notevi fecha: 12-03-2020 a las 09:59:50.
Responder Con Cita
  #2  
Antiguo 12-03-2020
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Cita:
Empezado por pepesoft Ver Mensaje
hola amigos necesito de su ayuda, no puedo resolver esta consulta con TUniQuery de los componentes DEVART con conexión a una base de datos mysql. Siempre me da error.
los campos contienen informacion cifrada con AES. Y el texto para la muestra es cifrado.

Código Delphi [-]
with TUniQuery do begin
  Close;
  SQL.Clear;
  SQL.Add('SELECT * FROM usuarios ');
  SQL.Add('WHERE usuario = :usuario ');
  SQL.Add(' AND password = password ' );
  ParamByName('usuario').AsString  := 'ULKTKFeJbZjKbMVusjc+pZ2GiVRti+XCwNec1OHEnCc=';
  ParamByName('password').AsString := 'SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=';
  Open;
end;
este es el error

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near 'and password = SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=' at line 3

espero alguna forma de solucion para este problema.
Buenos días, no uso mysql ni los Devart, pero podría ser por los caracteres "especiales" que llevan los párametros de la consulta ( slash, igual... ).
Yo intentaría encerrar las cadenas entre comillas:

Código Delphi [-]
ParamByName('usuario').AsString  := QuotedStr( 'ULKTKFeJbZjKbMVusjc+pZ2GiVRti+XCwNec1OHEnCc=' );
ParamByName('password').AsString := QuotedStr( 'SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=' );
Responder Con Cita
  #3  
Antiguo 12-03-2020
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Password es una palabra reservada en SQL, casi siempre. Si tienes un campo en una tabla que se llama así, tienes un conflicto
Responder Con Cita
  #4  
Antiguo 12-03-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Falta el "dos puntos"
AND password = password
AND password = :password
Responder Con Cita
  #5  
Antiguo 12-03-2020
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Falta el "dos puntos"
AND password = password
AND password = :password
Creo que no, yo al menos veo en el código, jeje, que será ": p" pero sin el espacio
Responder Con Cita
  #6  
Antiguo 12-03-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por kuan-yiu Ver Mensaje
Creo que no, yo al menos veo en el código, jeje, que será ": p" pero sin el espacio
No lo veía, lo he editado poniendo el [noparse]:p[/noparse] para que quede claro.
Responder Con Cita
  #7  
Antiguo 12-03-2020
pepesoft pepesoft is offline
Miembro
 
Registrado: ago 2014
Posts: 15
Poder: 0
pepesoft Va por buen camino
Código Delphi [-]
ParamByName('usuario').AsString  := QuotedStr( 'ULKTKFeJbZjKbMVusjc+pZ2GiVRti+XCwNec1OHEnCc=' );
ParamByName('password').AsString := QuotedStr( 'SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=' );
Gracias amigos por salir en mi ayuda, lo que me sugiere Arturo.Molina funciona. Pero mi consulta va, que este valor o ambos
Código Delphi [-]
ULKTKFeJbZjKbMVusjc+pZ2GiVRti+XCwNec1OHEnCc=
lo obtengo mediante una variable string, e ahí el error que no encuentro forma de acomodarlo
Responder Con Cita
  #8  
Antiguo 12-03-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Para qué el quotdstr?
ParamByName('password').AsString := QuotedStr( 'SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=' );
Eso lo que hace es poner comilla dobles a la cadena.
Responder Con Cita
  #9  
Antiguo 13-03-2020
pepesoft pepesoft is offline
Miembro
 
Registrado: ago 2014
Posts: 15
Poder: 0
pepesoft Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Para qué el quotdstr?
ParamByName('password').AsString := QuotedStr( 'SJLU/tvWf9Op2gf7RK/G01eNY8l4X5+zRDBHcrKHPEk=' );
Eso lo que hace es poner comilla dobles a la cadena.
Tienes mucha razón, la cadena ya no sería la misma que se quiere comparar con la de la base de datos. y es otro problema.
Responder Con Cita
  #10  
Antiguo 13-03-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Yo me he perdido y no sé ya qué problema tienes exactamente y qué pasos has dado y qué resultados has obtenido, ni cómo está ahora la situación.
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
consulta sql y mysql paolag MySQL 6 01-04-2017 19:03:59
Consulta en MySQL lgarcia MySQL 0 11-02-2015 23:58:50
Consulta de MySQL noob MySQL 8 20-10-2008 19:13:00
problema con sub-consulta Mysql enecumene MySQL 6 06-03-2008 16:07:25
consulta a mysql jfontane PHP 2 10-06-2003 19:11:57


La franja horaria es GMT +2. Ahora son las 05:13:37.


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