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
  #1  
Antiguo 25-08-2006
Kenlyr Kenlyr is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
Kenlyr Va por buen camino
Validar Usuario

Hola soy nueva en el foro y mi inquietud es la siguiente:

Quiero hacer una pequeña aplicacion en la cual debe de tener una pantalla de login que valide si el usuario existe en la base de datos. Ya tengo la conexion de la base de datos es una conexion ADO ahora me falta validar ese usuario para que pueda seguir utilizando la aplicacion. De que forma podria validar el usuario solo con el nombre de este que no sea necesario el password pues este esta encriptado en la base de datos y no existe aparentemente un procedure para esa encriptacion que sea visible.


Gracias.
Responder Con Cita
  #2  
Antiguo 25-08-2006
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 entiendo. ¿Qué importa que esté encriptada la contraseña? Normalmente así se hace y por lo general se compara la contraseña guardada con la encriptación de lo que escribe el usuario, es decir no se desencripta nada. Pero lo que dices de no haber un procedimiento visible de encriptación, ¿qué quiere decir? Digo, es lo mínimo que deberías saber para poder trabajar con esa tabla. En fin, creo que hay algo que no estás explicando correctamente. Si aclaras, con gusto te podremos ayudar.

// Saludos
Responder Con Cita
  #3  
Antiguo 25-08-2006
Kenlyr Kenlyr is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
Kenlyr Va por buen camino
Hola roman, a lo que me refiero es que me dijeron que debia validar si en BD que es oracle existe un procedure para encriptar el password y asi poder validar el usuario sin problemas en el programa.

ahora bien no existe un procedure en la BD oracle que tenemos aqui no se si tendra alguna funcion interna que encripta el password. Pero idenpendientemente de eso lo que quiero es saber como valido el usuario que ingresara en la aplicacion su numero de tarjeta como esta en la BD y su password. De que manera valido esto? Es decir como hago una funcion que valide si existe o que permita usar la aplicacion y como te mencione anteriormente tengo ya hecha una conexion ADO.
Responder Con Cita
  #4  
Antiguo 25-08-2006
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
al menos sabes que método de encriptacion está usando si es uno de los conocidos (MD5, SHA, etc) pues encriptas la contraseña en tu aplicación con ese mismo método y luego comparas el codigo encriptado con el password almacenado en la base de datos
__________________
self.free;
Responder Con Cita
  #5  
Antiguo 26-08-2006
Kenlyr Kenlyr is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
Kenlyr Va por buen camino
Unhappy

ok. tratare de ver si puede de alguna manera saber cual es el metodo de encriptacion que usan como es una compañia externa que nos proveen la BD y los sitemas.

Otro error que me esta dando la aplicacion de login que estoy haciendo es que me dice que el qyrUsuario : Paramater 'ident' not found, pero si esta como parametro en el query que es el siguiente
SELECT * FROM tabla WHERE IDENT = : 'IDENT'

procedure TFM_Casos.B_AceptarClick(Sender: TObject);
begin
DMcasos.qryUsuario.Close;
DMcasos.qryUsuario.SQL.Text;
DMCasos.qryUsuario.parambyname('ident').AsString := E_Usuario.text;
DMcasos.qryUsuario.Open;

que puede ser que necesito tener o que esta mal?.
Responder Con Cita
  #6  
Antiguo 26-08-2006
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
Debe ir sin comillas y pegado a los dos puntos:

Código SQL [-]
SELECT * FROM tabla WHERE IDENT = :IDENT

// Saludos
Responder Con Cita
  #7  
Antiguo 26-08-2006
Kenlyr Kenlyr is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
Kenlyr Va por buen camino
Despues de que lo corro step by step y llega al DMcasos.qryUsuario.Open;
el error que me da es de insufficient Memory for this operation

El codigo completo de ese evento onclick:

Código Delphi [-]
procedure TFM_Casos.B_AceptarClick(Sender: TObject);
begin
 DMcasos.qryUsuario.Close;
 DMcasos.qryUsuario.SQL.Text;
  DMCasos.qryUsuario.parambyname('IDENT').AsString := E_Usuario.text;
  DMcasos.qryUsuario.Open;
 
 if not DMcasos.qryUsuario.IsEmpty then
   begin
     Fm_Acceso.Show;
   end
   else
    begin
     MessageDlg('Usuario o Contraseña Incorrecta, Intente nuevamente', mterror, [mbOk], 0);
      E_Usuario.SetFocus;
    end;

end;

Última edición por dec fecha: 26-08-2006 a las 22:42:53.
Responder Con Cita
  #8  
Antiguo 26-08-2006
Kenlyr Kenlyr is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
Kenlyr Va por buen camino
Una ayudadita PLEASE.

Alguien me puede dar una manito, pues esta pantallita de login que estoy haciendo se me esta como frizando cuando la corro no se que pueda ser pues no me da ningun tipo de error al compilar, les copio el codigo de lo que estoy haciendo.

Código Delphi [-]
unit CasosFMS;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB;
type
  TFM_Casos = class(TForm)
    L_Usuario: TLabel;
    L_Password: TLabel;
    E_Usuario: TEdit;
    E_Password: TEdit;
    B_Aceptar: TButton;
    B_Cancelar: TButton;
    L_Ambiente: TLabel;
    ComboBox1: TComboBox;
    procedure B_CancelarClick(Sender: TObject);
    procedure B_AceptarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  FM_Casos: TFM_Casos;
implementation
uses DataModulo, UAcceso;
{$R *.dfm}
procedure TFM_Casos.B_CancelarClick(Sender: TObject);
begin
// Show a confirmation dialog
 if MessageDlg('Cancelar Programa.  Salir Ahora?',
    mtConfirmation, [mbYes], 0)
   = mrYes  then
    
    Close ;
 

end;

procedure TFM_Casos.B_AceptarClick(Sender: TObject);
begin
DMcasos.qryUsuario.Close;
DMcasos.qryUsuario.SQL.Text;
DMCasos.qryUsuario.parambyname('IDENT').AsString := E_Usuario.text;
DMcasos.qryUsuario.Open;

if not DMcasos.qryUsuario.IsEmpty then
begin
Fm_Acceso.Show;
end
else
begin
MessageDlg('Usuario o Contraseña Incorrecta, Intente nuevamente', mterror, [mbOk], 0);
E_Usuario.SetFocus;
end;

end;

Y el query hace una simple consulta que es esta:

Código SQL [-]
 
 SELECT * FROM tabla WHERE IDENT = :IDENT

No se la causa de que se quede como freezado

Última edición por dec fecha: 26-08-2006 a las 22:43:19.
Responder Con Cita
  #9  
Antiguo 27-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Si la SQL la tienes puesta en el inspector de objetos, elimina esta línea, que desde luego no sé que hace:
Código Delphi [-]
DMcasos.qryUsuario.SQL.Text;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 28-08-2006
Kenlyr Kenlyr is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
Kenlyr Va por buen camino
Gracias Lepe, Roman.

Algo que me pasa ahora despues que compilo e introduzco los datos que si son correctos la aplicacion asume como incorrectos y me da el mensaje de password o usuario incorrectos pero si son correctos. Que podria ser que asume algo mal cuando si es introducido bien?
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
validar dos campos (password y usuario) Yessy OOP 18 28-07-2006 21:59:15
Validar Nif Colgueit OOP 12 10-05-2006 02:50:28
Validar por usuario de windows jgmarduel Varios 4 01-11-2005 17:03:13
Duda sobre sistema ulti-usuario y mono-usuario simon Varios 1 07-06-2004 18:35:44
validar en qry alcides SQL 2 06-01-2004 18:11:19


La franja horaria es GMT +2. Ahora son las 03:16:24.


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