Señores Vengo a comentarles una consulta que tengo, antes quiero mostrarles este codigo:
Código Delphi
[-]
unit INGRESO;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBTables, DB, ExtCtrls;
type
TFrmIngreso = class(TForm)
LblNombre: TLabel;
LblClave: TLabel;
LblIngreso: TLabel;
BtnAceptar: TButton;
BtnCancelar: TButton;
EdtNombre: TEdit;
EdtClave: TEdit;
DtUsuario: TDataSource;
TblUsuario: TTable;
QryUsuario: TQuery;
RgRol: TRadioGroup;
procedure FormCreate(Sender: TObject);
procedure BtnCancelarClick(Sender: TObject);
procedure BtnAceptarClick(Sender: TObject);
private
public
end;
var
FrmIngreso: TFrmIngreso;
implementation
uses BIENVENIDA;
{$R *.dfm}
procedure TFrmIngreso.FormCreate(Sender: TObject);
begin
FrmBienvenida.Visible:=False;
TblUsuario.Active:=False;
QryUsuario.Active:=False;
end;
procedure TFrmIngreso.BtnCancelarClick(Sender: TObject);
begin
FrmIngreso.Close;
end;
procedure TFrmIngreso.BtnAceptarClick(Sender: TObject);
var a: String;
begin
QryUsuario.SQL.Text:='select * from usuario where Nombre=:P1 and Clave=:P2 and Rol:=P3';
QryUsuario.Params[1].AsString:=EdtNombre.Text;
QryUsuario.Params[2].AsString:=EdtClave.Text;
if(RgRol.ItemIndex=0) then
begin
a:='operador';
QryUsuario.Params[3].AsString:=a;
end
else
begin
a:='administrador';
QryUsuario.Params[3].AsString:=a;
end;
if(QryUsuario.RecordCount>0) then
begin
ShowMessage('INFORMACION CORRECTA')
end
else
ShowMessage('INFORMACION INCORRECTA');
end;
end.
En el formulario tengo una pantalla de ingreso que consta de dos Edit un datasource, un table, un query y un radiogroup, en el codigo estoy consultando una tabla creada en Paradox 7.0 que se llama usuario que tiene tres campos que son nombre, clave, rol que el usuario tiene registrado en la tabla usuario, pero cuando ejecuto el programa me esta arrojando la siguiente excepcion cuando en la pantalla de ingreso le meto la informacion y le doy el boton de aceptar: List index out of bounds (3).
Señores soy principiante en delphi, queria preguntarles que correcciòn le tnego que hacer al codigo para que me valide correctamente los datos y pues me muestre los mensajes que aparecen en showmessages por ahora mientras avanzo, y de paso queria aprovechar para preguntarles que material me recomiendan para estudiar mas acerca de el manejo de componentes de bases de datos en delphi y Paradox par apoder afianzar mejor mis conocimientos.
Mil gracias por su ayuda y estaré pendiente de su respuesta.