Jump to content


Photo

En FireMonkey no me carga los datos en un TEdit


  • Please log in to reply
3 replies to this topic

#1 WalterChacon

WalterChacon

    Member

  • Miembros
  • PipPip
  • 13 posts

Posted 03 September 2013 - 08:51 AM

Buenas dias
Usando  FireMonkey XE4, cargo una lista de usuarios en un listbox cuando selección uno de los usuarios de la lista deseo que el nombre asosciado al usuario se despliegue en una caja de texto ejecutando este código



delphi
  1. procedure TfrmPermisos.RecuperaDatos;
  2. begin
  3. if (lstUsuarios.ItemIndex <> -1) then begin
  4. with dmDatos.qryGeneral do begin
  5. Close;
  6. SQl.Clear;
  7. SQL.Add('SELECT cod_usuario, login FROM usuario WHERE login = ''' + lstUsuarios.Items.Strings[lstUsuarios.ItemIndex] + '''');
  8. Open;
  9. iClave := FieldByName('cod_usuario').AsInteger;
  10. Edit1.Text := Trim(FieldByName('login').AsString);
  11.  
  12. end;
  13. end;
  14. end;



pero no lo hace que podría estar faltando. Anteriormente usaba este mismo código en Delphi y funciona sin problema.

  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 03 September 2013 - 09:13 AM

Que ta WalterChacon

Ayer hice una prueba rápida (sin base de datos) y tu código funciona sin problema en una aplicación FireMonkey, lo que yo haría es incluir un bloque try-except para ver si hay algún error que esté invalidando el proceso.

Aunque es poco probable que haya algún problema con el acceso a los datos, el bloque try-except puede ser de mucha ayuda.

Saludos


  • 0

#3 WalterChacon

WalterChacon

    Member

  • Miembros
  • PipPip
  • 13 posts

Posted 03 September 2013 - 10:18 AM

Hola Egostar

Gracias por la respuesta te cuento que ya me funciona ya que elimine el nombre que también cargaba en el listbox Ej: wchacon - Walter Chacon



delphi
  1.     if (lstUsuarios.ItemIndex <> -1) then begin
  2.       with dmDatos.qryGeneral do begin
  3.         Close;
  4.         SQl.Clear;
  5.       // SQL.Add('SELECT cod_usuario, login FROM usuario WHERE login = ''' + lstUsuarios.Items.Strings[lstUsuarios.ItemIndex]+'''');
  6.  
  7.         SQL.Add('SELECT cod_usuario, nombre, login FROM usuario WHERE login = ' + QuotedStr(lstUsuarios.Items.Strings[lstUsuarios.ItemIndex]));
  8.         Open;
  9.  
  10.         iClave := FieldByName('cod_usuario').AsInteger;
  11.         txtNombre.Text := Trim(FieldByName('nombre').AsString);
  12.         txtUsuario.Text := Trim(FieldByName('login').AsString);
  13. end;
  14. end;



Este es el código que use para cargar los dos datos en el listbox pero al tenerlo asi no me cargaba la info en las caja de texto.



delphi
  1.     with ADOQuery1 do begin
  2.         Close;
  3.         SQL.Clear;
  4.         SQL.Add('SELECT login, nombre FROM usuario ORDER BY login');
  5.         Open;
  6.  
  7.         ListBox1.Items.Clear;
  8.         while not Eof do begin
  9.             Listbox1.Width := 130;
  10.             ListBox1.Items.Add (FieldByName('login').AsString + ' - ' + FieldByName('nombre').AsString);
  11.             Next;
  12.         end;
  13.         Close;
  14.     end;




  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 03 September 2013 - 10:47 AM


Que bien, gracias por la actualización WalterChacon

Siempre es interesante conocer las cosas internas de FireMonkey ya que es un framework que poco a poco está tomando fuerza y tal parece que pronto será el estándar que todos estaremos usando. (y)

Saludos
  • 0




IP.Board spam blocked by CleanTalk.