Tema: Buen Dia
Ver Mensaje Individual
  #1  
Antiguo 06-01-2008
sdiaz1983 sdiaz1983 is offline
Miembro
 
Registrado: sep 2007
Posts: 52
Reputación: 18
sdiaz1983 Va por buen camino
Buen Dia

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
    { Private declarations }
  public
    { Public declarations }
  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.

Última edición por dec fecha: 06-01-2008 a las 17:39:55.
Responder Con Cita