Ver Mensaje Individual
  #2  
Antiguo 01-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 28
Delphius Va camino a la fama
Cita:
Empezado por odrack Ver Mensaje
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; // aqui ebería ir....
                end; // fin while...
              
end;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita