Ver Mensaje Individual
  #9  
Antiguo 20-02-2016
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Reputación: 20
anubis Va por buen camino
Código Delphi [-]
function tfagregausuario.verificarnick:byte;
begin
ibdataset1.Close;
ibdataset1.selectSQL.text:='select * from usuarios where nick = :nick4';
ibdataset1.ParamByName('nick4').value:=lowercase(trim(enick.Text));
ibdataset1.Open;

if (ibdataset1.IsEmpty) then
begin
end
else
showmessage('el usuario existe');
end;

Esa es la funcion y este es el procedimiento

Código Delphi [-]
procedure TFagregausuario.enickKeyPress(Sender: TObject; var Key: char);
begin

if not (key in ['A'..'Z','a'..'z',#7,#8, #13]) then
key:=#0
else
  if (key=#13) and (enick.text<>'') then
  begin
   verificarnick;
   end;

No hay mas, cada vez que escribo en text1.text y pulso enter, se va a verificar si el usuario existe.
De primera vez si lo hace bien, de segunda vez, sin cerrar el programa, ya me aparece que nick4 not found.

Efectivamente, faltaba poner en la funcion algo como esto:

Código Delphi [-]
ibdataset1.Close;
ibdataset1.SelectSQL.text:='select * from usuarios';
ibdataset1.open;
Para que de la segunda vuelta empiece de nuevo con el select de todos los usuarios, pero poniendolo al principio o al final de la funcion, me da el error antes o despues.
Responder Con Cita