Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   ¿Cómo verificar clave ingresada por usuario? (https://www.clubdelphi.com/foros/showthread.php?t=82885)

titooo 22-04-2013 20:12:19

¿Cómo verificar clave ingresada por usuario?
 
Hola gente, les comento que estoy haciendo un trabajo practico en donde tengo que relacionar delphi con tablas de SQL SERVER 2008, la pregunta es como puedo verificar que una clave ingresada por el usuario se encuentra ya existente dentro de una de las tablas de sql. Ejemplo:

el usuario me ingresa : dni: 11222333

y tengo una tabla de clientes donde se encuentra: cliente:11222333
codigo postal, etc.

agradeceria una respuesta rapida, ya que me bloquea en gran parte el avance de mi trabajo. muchas gracias

ecfisa 22-04-2013 20:28:35

Hola titooo, bienvenido a Club Delphi :).

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Por favor, trata de poner títulos relacionados con tu consulta, "Ayuda Por Favor!" no dá ningún indicio de que te esta sucediendo.

La consulta que debes realizar es similar a esta:
Código SQL [-]
SELECT DNI_CLIENTE FROM TB_CLIENTES 
WHERE DNI_CLIENTE = :PARAM_DNI
Donde TB_CLIENTES sería el nombre de tu tabla, DNI_CLIENTE el campo que almacena el DNI y :PARAM_DNI el valor ingresado por el usuario. De no encontrar ninguna ocurrencia, la consulta devolvera NULL.

Saludos.

titooo 22-04-2013 20:34:35

ah diculpame ecfisa, no sabia eso...
ese valor null, yo necesitaria asinarselo a una variable, o que alternativa tengo para involucrarlo dentro de un IF en delphi...
mi idea es verificar su existencia: si existe, seguir el curso de ejecucion, de lo contrario emitir un mensaje de error.

ecfisa 22-04-2013 20:46:06

Hola titooo.

Podes utilizar un query a fin de realizar la comprobación, pero el código varía según los componentes que uses para conectarte a la bd.

Te pongo un ejemplo de como sería con ADO:
Código Delphi [-]
function ExistUser(Qry: TADOQuery; const aDNI: string): Boolean;
begin
  with Qry do
  begin
    Close;
    SQL.Text := 'SELECT DNI_CLIENTE FROM TB_CLIENTES WHERE DNI_CLIENTE = :PARAM_DNI';
    Parameters.ParamByName('PARAM_DNI').Value := aDNI;
    Open;
    Result := not Qry.IsEmpty;
    Close
  end
end

Llamada:
Código Delphi [-]
...
begin
  if not ExistUser(ADOQuery1, Edit1.Text) then
  begin
    MessageBox(Handle, 'Usuario inexistente', '', MB_ICONERROR + MB_OK);
    Application.Terminate;
  end;
 // ...

Saludos.

marinaAv 22-04-2013 20:47:36

estaba checando tu pregunta pero no le entiendo muy bien quieres un codigo que te ayude a buscar si el codigo que el cliente introduce ya existe???

titooo 22-04-2013 20:56:59

no, necesito verificar que una clave ingresada por el usuario se encuentra en una tabla SQL o no.
por lo tanto mi pregunta consiste en que codigo debo colocar en delphi para realizar esta operacion. Mi idea era a traves de una condicion, verificar esta operacion a traves de un procedimiento.
por ejemplo:
IF funcion_validacion( prametros) = dni_cliente ingresado
then
showmessage ('el dni ingresado ya existe')
else
continuo con el desarrollo del sistema

ecfisa 22-04-2013 21:41:05

Cita:

Empezado por titooo (Mensaje 459055)
no, necesito verificar que una clave ingresada por el usuario se encuentra en una tabla SQL o no.
por lo tanto mi pregunta consiste en que codigo debo colocar en delphi para realizar esta operacion. Mi idea era a traves de una condicion, verificar esta operacion a traves de un procedimiento.
por ejemplo:
IF funcion_validacion( prametros) = dni_cliente ingresado
then
showmessage ('el dni ingresado ya existe')
else
continuo con el desarrollo del sistema

Entonces el código del mensaje #4 hace exáctamente lo que buscas.

Saludos. :)

titooo 23-04-2013 14:16:19

gracias ecfisa por tu aporte cualquier inquietud vovere a comentarlo por aca. Saludos :)

titooo 24-04-2013 15:39:46

vuelvo a tener un inconveniente ecfisa, de acuerdo a la funcion que me enviaste, tengo un error con el tipo de dato "TADOQUERY", el error que me señala el compilador es que ese tipo de dato no esta declarado. agradeceria la respuesta. Saludos

ecfisa 24-04-2013 17:07:28

Cita:

Empezado por titooo (Mensaje 459195)
vuelvo a tener un inconveniente ecfisa, de acuerdo a la funcion que me enviaste, tengo un error con el tipo de dato "TADOQUERY", el error que me señala el compilador es que ese tipo de dato no esta declarado. agradeceria la respuesta. Saludos

Hola titooo.

Desde la pestaña ADO hacé click sobre el componente TADOQuery, arrastralo y soltalo sobre tu form.

Si creas el ADOQuery de forma dinámica, tendrás que incluir en la cláusula uses las unidades DB y ADODB

Saludos.


La franja horaria es GMT +2. Ahora son las 12:58:25.

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