Cita:
Empezado por odrack
Que tal a todos!!
Tengo un problemita con el ciclo while, lo que esta pasando es que no termina el ciclo while con este codigo:
Código Delphi [-]
Begin query2.close; query2.sql.clear; query2.sql.add('SELECT usuario as nomart FROM usuarios');
query2.Open;
while not query2.eof do begin if edit1.Text=query2.Fieldvalues['nomart'] then begin showmessage('El usuario ya existe');
query2.Last;
end else begin query1.Close; query1.SQL.Clear; query1.SQL.Add('insert into usuarios (usuario, password)');
query1.SQL.Add('values('+quotedstr(edit1.Text)+','+quotedstr(edit2.Text)+')');
query1.ExecSQL;
query3.close;
query3.Open;
edit1.Text:='';
edit2.Text:='';
showmessage('Se ha agregado con exito');
end;
end;
query2.Next;
end;
alguien sabe por que no lo termina?? 
|
Hola odrack,
Por empezar veo un Query1.Next que está fuera del ciclo

. Muevele una línea antes y dime:
Código Delphi
[-]Begin
query2.close;
query2.sql.clear;
query2.sql.add('SELECT usuario as nomart FROM usuarios');
query2.Open;
while not query2.eof do
begin
if edit1.Text=query2.Fieldvalues['nomart'] then
begin
showmessage('El usuario ya existe');
query2.Last;
end
else
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('insert into usuarios (usuario, password)');
query1.SQL.Add('values('+quotedstr(edit1.Text)+','+quotedstr(edit2.Text)+')');
query1.ExecSQL;
query3.close;
query3.Open;
edit1.Text:='';
edit2.Text:='';
showmessage('Se ha agregado con exito');
end;
query2.Next; end;
end;
Saludos,