Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 21-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Neftali Ver Mensaje
Y no repitas hilos, los he unido los dos.

Y recuerda leer nuestras normas, gracias.
Responder Con Cita
  #22  
Antiguo 22-06-2011
rrosariom rrosariom is offline
Miembro
 
Registrado: abr 2007
Posts: 23
Poder: 0
rrosariom Va por buen camino
Exclamation Hola

Disculpa es que no tengo experiencia en el foro.

Ejecute el codigo linea por linea, y cuando llega al if, salta al showmessage, por lo que cambie el codigo y puse que si adoquery1.recordcount=0 que cargue el form2.

Aparentemente, no esta guardando en memoria la consulta. o algo esta pasando que lo esta limpiando.

que sera?
Responder Con Cita
  #23  
Antiguo 22-06-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Es una simple validacion, el problema es que el parametro que coincide.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #24  
Antiguo 22-06-2011
rrosariom rrosariom is offline
Miembro
 
Registrado: abr 2007
Posts: 23
Poder: 0
rrosariom Va por buen camino
Hola

No entendi el comentario "Es una simple validacion, el problema es que el parametro que coincide"

Bye,
Rolando.
Responder Con Cita
  #25  
Antiguo 22-06-2011
leofuentes21 leofuentes21 is offline
Miembro
NULL
 
Registrado: feb 2011
Ubicación: la ceiba, atlantida
Posts: 66
Poder: 14
leofuentes21 Va por buen camino
Pon el codigo que tienes ahorita y donde te da el error..
Responder Con Cita
  #26  
Antiguo 22-06-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No trates de abarcar muchas cosas hasta no entender una plenamente. Me refiero a que antes de ponerte a manejar número de intentos inválidos y demás yerbas, primero te asegures que la consulta que quieres está funcionando.

Fíjate que en tu menaje original tienes esta consulta:

Código SQL [-]
select username,password FROM DBA_USERS
where username = ...
or password =

De entrada, esto es incorrecto, pues en lugar de or debería ser and, aunque en realidad, lo más adecuado sería simplemente:

Código SQL [-]
select username,password FROM DBA_USERS
where username = ...

es decir, sin la condición del password. Si encuentras una coincidencia, entonces sí, compara el password de la base con el que te dan.

Otra cosa: realmente no es lo más adecuado usar RecordCount para determinar si se encontraron registros coincidentes. Lo más recomendable es usar el método IsEmpty.

// Saludos
Responder Con Cita
  #27  
Antiguo 22-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por roman Ver Mensaje
No trates de abarcar muchas cosas hasta no entender una plenamente.
Totalmente de acuerdo.

Otra cosa que no entiendo rrosariom, es que has que cambiado por completo el código inicial (sobre el que respondí en el mensaje #18) .
En ese mismo post, coincidiendo con los acertados consejos de roman, se usa and e IsEmpty en las comparaciónes. ¿ Probaste ese código ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #28  
Antiguo 22-06-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No me había fijado que ya defcon1_es había, desde un principio, hecho notar lo de RecordCount. Aunque no estoy de acuerdo con la solución propuesta de utilizar Last puesto que ello implica traerse todos los registros al cliente.

Pero otra cosa que recién noto, y que me parece que ahí puede estar el porque no encuentra coincidencias, es que la consulta (al menos la original) compara directamente la contraseña almacenada en la tabla con la que escribe el usuario. Pero eso no puede ser, porque la contraseña en la base está encriptada, tal como se lee aquí:

Código:
PASSWORD 	VARCHAR2(30) 	  	Encrypted password
Luego entonces, habria primero que encriptar lo que escribe el usuario (desde luego, con la misma encriptación que la que se use en DBA_USERS) y compararla.

Por otra parte, no se entiende en realidad cómo se están capturando los datos de usuario y contraseña; pues es bastante extraño usar DBEdits para ello.

// Saludos
Responder Con Cita
  #29  
Antiguo 25-06-2011
rrosariom rrosariom is offline
Miembro
 
Registrado: abr 2007
Posts: 23
Poder: 0
rrosariom Va por buen camino
Exclamation Hola a todos

Buenos Días,

primeramente, disculpen a todos por la tardanza en responderle, lo que pasa es que tengo una inmensa cantidad de trabajo.

estoy utilizando or y no and porque hice una prueba directamente haciendo la consulta a la base de datos y con and no me devuelve el registro y con or si lo hace.

Segundo, pensé lo de la encriptación, e hice una prueba creando una tabla con usuario y clave e intente hacer la consulta y aun así me sigue pasando lo mismo

Tercero, lo ye probado con el empty y también me pasa lo mismo.

de todas formas haré una prueba otra vez y, usando una tabla y no la vista dba_users, porque no se mucho sobre el tema de encriptar y desencriptar password; o si ustedes tienen alguna experiencia al respecto y me ayudan como siempre se lo agradeceré

Bye,
Rolando.
Responder Con Cita
  #30  
Antiguo 27-06-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por rrosariom Ver Mensaje
estoy utilizando or y no and porque hice una prueba directamente haciendo la consulta a la base de datos y con and no me devuelve el registro y con or si lo hace.
Bueno, pero es que no es al gusto. Debe usarse AND sí o sí. Si con and no te resulta quiere decir entonces que o no coincide el usuario o no coincide la contraseña. Y claro, al hacer or "funciona" porque coincide el usuario pero en ese caso la contraseña puede ser lo que sea que la condición siempre se va a cumplir. Entonces estarías dejando entrar a cualquiera.

Y seguramente la consulta directa con and no funcionaba por lo mismo de la encripatción.

// Saludos
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
cambiar password del usuario sysdba walace_soy Firebird e Interbase 27 23-06-2015 09:39:18
acceder a carpeta remota con password chinchan C++ Builder 2 12-04-2011 13:33:59
validar dos campos (password y usuario) Yessy OOP 18 28-07-2006 21:59:15
Usuario y Password con TQuery en MyODBC mutant09 Conexión con bases de datos 9 23-04-2004 19:19:04
Dar Master Password a Paradox para que no lo haga el usuario nefy Conexión con bases de datos 3 03-01-2004 19:01:30


La franja horaria es GMT +2. Ahora son las 15:57:26.


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