Ver Mensaje Individual
  #6  
Antiguo 10-03-2010
Fiebru Fiebru is offline
Miembro
 
Registrado: dic 2009
Posts: 16
Reputación: 0
Fiebru Va por buen camino
Ya hasta verguenza me da...

Ahora me sale un error que me dice "No se han especificado algunos parametros requeridos". Pero no se si se refiere al string o al codigo en si.

A continuacion el cogido actual, que veras algunas pequeñas modificaciones...

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.SQL.Text:= 'SELECT Usuario, Contrasena FROM Usuarios WHERE Usuario = :nom';
ADOQuery1.Parameters[0].Value:= EUsuario.Text;
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.


La linea que resalte en negrita: EUsuario.Text:=ADOQuery1.Fields[1].AsString; es donde me señala el error. Pero puede ser que los parametros que tengan problemas son los del String. Que dicen: Select * from Usuarios

Bueno, como quiera que sea, hoy tengo clases y aprovechare para preguntarle a mi profe.

Gracias de todos modos.
Responder Con Cita