Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-03-2010
Fiebru Fiebru is offline
Miembro
 
Registrado: dic 2009
Posts: 16
Poder: 0
Fiebru Va por buen camino
Se que es un ZIP...

Pero cuando lo descomprimi solo hay un archivo que no se que hacer con el.

El codigo que me pasaste lo voy a chequiar detenidamente a ver si me da resultado.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 06-03-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Talking

Hola
Paso a paso:
Código Delphi [-]
procedure TFLogin.BtnOkClick(Sender: TObject); // el procedimiento del boton aceptar
begin
  // olvídate de esto por ahora
  //  LoginOK := False; 

   // el query. parametro. parametro por nombre (nom) = edit . text. 
   ADLogin.Parameters.ParamByName('nom').Value:= EUsuario.Text;
  // activa el query
   ADLogin.Active:= True;
  // edit .text = a query. archivo 1 . como string.
   EUsuario.Text:= ADLogin.Fields[1].AsString;
  // si la cuenta es mayor que uno entonces
    If ADLogin.RecordCount < 1 then
    Begin
   // olviada esto
   //    Cuenta := Cuenta + 1;
   // muestra un mensaje
       MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
   // retorna a vacío el edit del usuario y clave
       EUsuario.Text := '';
       EClave.Text := '';
    // desactiva el query
       ADLogin.Active := False;
    // olvida esto
    //   If Cuenta = 3 then Close;
    end
   else
       // si query clave como string es igual al edit de la clave entonces
       If ADLoginClave.AsString = EClave.Text then
        Begin
        // olvida esto
        //   LoginOk := True;
        // activa el query
           ADLogin.Active := False;
        // Crea el form en este caso se llama Fclientes
           FClientes:=TFClientes.Create(self);
           try
          // oculta el form del loguin
           FLogin.Visible:= False;
           // abre el form en este caso se llama Fclientes
           FClientes.ShowModal;
           finally
           // cuando termine lo libera
           FClientes.Free;
           end;
           Close;
        end
     else
         Begin
          // esta parte es para darle al usuario solo tres intentos para encontrar la clave
         //  Cuenta := Cuenta + 1;
         //  MessageDlg('Clave Inválida',mtError, [mbOK], 0);
         //  EClave.Text := '';
         //  ADLogin.Active := False;
         //  If Cuenta = 3 then Close;
        // end;

end;
Ni la cara oculta de delphi
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 06-03-2010
Fiebru Fiebru is offline
Miembro
 
Registrado: dic 2009
Posts: 16
Poder: 0
Fiebru Va por buen camino
Lo probare tambien....

Ya que ahora mismo estoy en un cyber....hey si sigues asi seras buen profesor.
Responder Con Cita
  #4  
Antiguo 08-03-2010
Fiebru Fiebru is offline
Miembro
 
Registrado: dic 2009
Posts: 16
Poder: 0
Fiebru Va por buen camino
Tengo otro problemita

El codigo que me diste lo adapte a mi programa, este es el codigo actual de la ventana...
Código Delphi [-]
unit EntradaUsuario;

interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, ADODB;

type
  TFrmEntradaUsuario = class(TForm)
    BtnAceptar: TButton;
    BtnCancelar: TButton;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    ADOQuery1NombredeUsuario: TWideStringField;
    ADOQuery1Contrasena: TWideStringField;
    Label1: TLabel;
    Label2: TLabel;
    EUsuario: TEdit;
    EContrasena: TEdit;
    ADOConnection1: TADOConnection;
    procedure BtnCancelarClick(Sender: TObject);
    procedure BtnAceptarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmEntradaUsuario: TFrmEntradaUsuario;

implementation

uses Menu;

{$R *.dfm}

procedure TFrmEntradaUsuario.BtnCancelarClick(Sender: TObject);
begin
FrmEntradaUsuario.close
end;

procedure TFrmEntradaUsuario.BtnAceptarClick(Sender: TObject);

begin
ADOQuery1.Parameters.ParamByName('nom').Value:= EUsuario.Text;
ADOQuery1.Active:= True;
EUsuario.Text:= ADOQuery1.Fields[1].AsString;
If ADOQuery1.RecordCount < 1 then
    Begin
MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
 EUsuario.Text := '';
       EContrasena.Text := '';
ADOQuery1.Active := False;
end
   else
If ADOQuery1Contrasena.AsString = EContrasena.Text then
Begin
 ADOQuery1.Active := False;
FrmMenu:=TFrmMenu.Create(self);
           try
FrmEntradaUsuario.Visible:= False;
FrmMenu.ShowModal;
           finally
           FrmMenu.Free;
           end;
           Close;
        end
     else
end;
end.

Pero ahora hay otro incidente. Es que cuando voy a entrar cualquier clave, me sale una ventana con un error diciendo que falta un operador en la expresion de consulta 'Nombre de Usuario'.

Creo que se refiere al contenido del String List Editor:
SELECT Nombre de Usuario, Contrasena FROM
Usuarios WHERE
Nombre de Usuario = :nom


Bueno creo que ya estoy cerca de dar con el problema, pero necesito un empujon, jejeje.

Última edición por Neftali [Germán.Estévez] fecha: 09-03-2010 a las 12:02:13. Razón: Añadir TAG's
Responder Con Cita
  #5  
Antiguo 09-03-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
A ver asi:
Código Delphi [-]
procedure TFrmEntradaUsuario.BtnAceptarClick(Sender: TObject);
begin
ADOQuery1.SQL.Text:= 'SELECT Usuario, Contrasena FROM Usuarios WHERE Usuario = :nom';
ADOQuery1.Parameters[0].Value:= EUsuario.Text;
ADOQuery1.Active:= True;
EUsuario.Text:= ADOQuery1.Fields[1].AsString;
If ADOQuery1.RecordCount < 1 then
Begin
MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
EUsuario.Text := '';
EContrasena.Text := '';
ADOQuery1.Active := False;
end
else
If ADOQuery1Contrasena.AsString = EContrasena.Text then
Begin
ADOQuery1.Active := False;
FrmMenu:=TFrmMenu.Create(self);
try
FrmEntradaUsuario.Visible:= False;
FrmMenu.ShowModal;
finally
FrmMenu.Free;
end;
Close;
end
else
end;
end.
La diferencia esta en que simplemente se hace la sentencia sql por codigo y no directa en la casilla string del query, que por cierto se necesita especificar el parametro, ahi esta el error que te da.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 09-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Fiebru, si utilizas TAG's cuando escribas código Delphi verás que se lee bastante mejor.

En el anterior ya las añado yo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 09-03-2010
Fiebru Fiebru is offline
Miembro
 
Registrado: dic 2009
Posts: 16
Poder: 0
Fiebru Va por buen camino
Bien Caral....

Ya estoy entendiendo por donde va el asunto.

Neftali: disculpa lo de
Código Delphi [-]
los tags,
no sabia lo que era, pero te prometo que los usare mas adelante.

Caral: despues te dire si llegue al tic del asunto o no.

Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
captura de datos vlady3086 OOP 3 03-03-2009 17:08:52
enlazar datos con ventana de captura zidfrid API de Windows 3 28-04-2008 20:36:47
captura de errores de bases de datos en delphi 7 godie12345 Varios 5 11-12-2007 17:51:55
Forzar captura datos en un DBEdit Goyo OOP 4 20-09-2006 17:07:58
Captura Datos Com1 EdyBay Varios 2 04-08-2005 14:49:05


La franja horaria es GMT +2. Ahora son las 13:42:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi