Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   ingresar en login si ya se ha registrado (https://www.clubdelphi.com/foros/showthread.php?t=92415)

jose zuñiga 25-10-2017 06:00:34

ingresar en login si ya se ha registrado
 
he estado haciendo una aplicacion para una enfermeria ycree un login y registros de enfermeros, medicos y pacientes y se como al registrase se guarde el regitro y pero no se como hacer que al entrar al login los valores registrados sean los mismos y si lo son entrar y si no mandar un mensaje que diga el usuario o la contraseña son incorrectos

*Cree unas Tablas en mysql que son loginadministrador, enfermero, paciente, medico y registro paciente, medico y enfermero
en los logines
coloque tres campos:
1)id el cual defini como INT
2)user_name es de tipo char y 25 de longitud,
3)password es de tipo char y 25 de longitud

*En mi formulario principal (el de Login) coloque 3 Labels etiquetados como Id, Usuario y Contraseña, 3 Edit uno para id; user_name y otro para password, 2 Botones uno para ACEPTAR y para CANCELAR coloque un componente ADOConecction1, ADOQuery1

*conecte el ADOQuery al ADOConecction

*En el Botón de ACEPTAR le coloque el siguiente Codigo para realizar la validación de el user_name y el Password, la validación la realice localizando en la base de datos el texto escrito en los edit realizando la busqueda en el campo correspondiente, para una mejor idea aqui les pongo el codigo:



codigo delphi del boton ACEPTAR:
Código Delphi [-]
procedure TLogin_pacientes.Button1Click(Sender: TObject);
var
insertar: string;
begin
insertar:= 'insert into proyect_aula.loginpaciente values ("'+user_name.Text+'", "'+password.Text+'")';
showMessage(insertar);
ADOQuery.SQL.Add(insertar);
ADOQuery.ExecSQL;
showMessage('inicio de sesion correctamente');
Paciente.Show;
end;

ElKurgan 25-10-2017 08:34:48

¿Y por qué razón insertas siempre?

Si lo que quieres es validar si ya existe en la base de datos tendrías que hacer algo como esto:

Código Delphi [-]
procedure TLogin_pacientes.Button1Click(Sender: TObject);
var
  insertar: string; // Esto da igual, es un nombre de variable, aunque sería más descriptivo algo como "Sentencia"
begin
  insertar:= 'select * from proyect_aula.loginpaciente where user_name ="' +user_name.Text+'" and password = "'+password.Text+'" ';
  showMessage(insertar);
  ADOQuery.SQL.Add(insertar);
  ADOQuery.Open;
  if ADOQuery.RecordCount <= 0 then
  begin
    showmessage('No existe la combinación de usuario / contrasñea');
  end;
  else
  begin
    showMessage('inicio de sesion correctamente');
    Paciente.Show;
  end;
end;
Saludos

Neftali [Germán.Estévez] 25-10-2017 14:25:15

Cita:

Empezado por jose zuñiga (Mensaje 521988)
*Cree unas Tablas en mysql que son loginadministrador, enfermero, paciente, medico y registro paciente, medico y enfermero
en los logines
coloque tres campos:
1)id el cual defini como INT
2)user_name es de tipo char y 25 de longitud,
3)password es de tipo char y 25 de longitud

¿Me ha parecido entender que creas varias tablas?
¿Será 1 tabla para almacenar el login de los diferentes usuarios?
¿Puedes explicar esto mejor?

Creo que es importante antes de seguir con cualquier otra cosa.


La franja horaria es GMT +2. Ahora son las 01:40:47.

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