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
public
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.