Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Como hacer login

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Como hacer login Responder citando

Hola, necesito ayuda con el codigo para realizar un Login: tengo la pantalla donde se pide ingresar usuario y contraseña pero al hacer clic en el boton Aceptar debe buscar en las tablas de Usuarios y verificar los datos. Una opcion es pasar estos datos (usuario y contraseña)como parámetros al Query, pero no logro hacerlo. Por favor, ayuda con el query. Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

No dices con que tipo de tablas estás trabajando. Por ejemplo, para un tabla Paradox:
Código:
Query->Close();
Query->SQL->Text = "SELECT * FROM 'Usuarios.db' WHERE Usuario = :Usuario AND Clave = :Clave";
Query->ParamByName("Usuario")->AsString = Edit1->Text;
Query->ParamByName("Clave")->AsString = Edit2->Text;
Query->Open();
if (Query->IsEmpty())
{
     ShowMessage("No existe este usuario");
     return;
}

_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Consulta de Login Responder citando

Gracias Angel por su respuesta. La base de datos está en Access. Puede guiarme en el enlace que se hacen entre los componentes tabla, datasource y query. Para este formulario donde tengo que hacer la consulta a la tabla Usuarios, debo agregar estos componentes? En que casos se utilizan estos componentes? Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Con tablas Access no he trabajado desde Builder, pero si todo el proyecto trabaja contra esas tablas deberías poner los elementos de conexión en el formulario principal del mismo de forma que desde cualquier formulario que uses "veas" las tablas de la base de datos. No sé si me explico.

De todas formas, mira con el buscador en Bases de datos como conectar con una Access.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Para poder hacer esto sin más, prueba a hacer lo siguiente:

Te creas un TADOConexion y lo configuras para que se conecte a tu BD Access
Te creas un TADOQuery y lo asocias al TADOConexion en la propiedad Conection

En la propiedad SQL del TADOQuery que has creado introduces la SELECT que utilices para validar al usuario y password:
Por ejemplo:

Código:

String mi_usuario,mi_password;
query->SQL->Text="select count(*) as num from usuario where usuario="+mi_usuario+" and password='"+mi_password+"'";
query->Execute();

int valor = query->FieldByName("num")->AsInteger;
if (valor>0)
   ShowMessage("Usuario y contraseña correctos");
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola, Gracias rockman2003 por tu respuesta. Paso a contarte los pasos:
1) Realice la conexión de la base de datos, desde el panel de control-Herramientas administrativas- Origenes de datos OBDC- en la solapa DNS de sistema en la opción Agregar indico un alias para la base de datos e indico la ruta.
2) Luego en el formulario agregué los componentes TADOCONNECTION (en la propiedad ConnecctionString en Build selecciono el alias de la base de datos) y TADOQUERY (en la propiedad Connection lo enlazo a ADOConnection).
3) Agregue un botón Aceptar y al hacer doble clic inicia la consulta este es el código:

String v_usuario, v_contrasenia;
v_usuario=Edit1->Text;
v_contrasenia=Edit2->Text;

ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text="select count(*)as num from usuarios where usuario="+v_usuario+
" and contrasenia="+v_contrasenia+" ";
ADOQuery1->Open();

int valor=ADOQuery1->FieldByName("num")->AsInteger;
if (valor>0) {
ShowMessage("Usuario y contraseña válidos");
}
else
{
ShowMessage("Usuario y contraseña INCORRECTOS, ingrese nuevamente");

}

No me queda claro que es lo que debo agregar en la propiedad Sql del Adoquery1, ya que al código lo ejecuto al hacer clic en el botón Aceptar.

La compilación no da errores. Pero al ejecutarlo me sale el siguiente error: ” ....Controlador ODBC Microsoft Access pocos parámetros. Se esperaba 1”.

Si puedes ayudarme te lo agradezco. Saludos cordiales.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola Maria,

Al crear el ADOConnection, fijate si el check "Guardar la contraseña" lo has marcado.
Si no tiene contraseña, tambien marca Contraseña en Blanco
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola, logre solucionar el error, la consulta sql quedó de la siguiente manera y funciona:

Query1->SQL->Text= "select count(*)as num from usuarios where usuario='"+v_usuario+"' and contrasenia='"+v_contrasenia+"' ";

Faltaba la comilla simple '.

Muchas gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Maria escribió:
Hola, logre solucionar el error, la consulta sql quedó de la siguiente manera y funciona:

Query1->SQL->Text= "select count(*)as num from usuarios where usuario='"+v_usuario+"' and contrasenia='"+v_contrasenia+"' ";

Faltaba la comilla simple '.

Muchas gracias.

Por eso te sugería yo usar parámetros.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Como hacer login Responder citando

Yo creo que Angel, dejo claro el principio KISS.

Att
Vrodriguez
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.