Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2015
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Problema al mostrar un registro en un label

Buenas tardes necesito de su valiosa colaboracion, resulta que tengo una consulta en un combobox ya que al traer informacion de una consulta y llenar el combobox nop quiere mostrar informacion adicional a un label entonces quiero ver cual es mi error o que me falta, les pongo el codigo de mi consulta y de antemano gracias por su apoyo.

Código Delphi [-]
procedure Tprincipal2.ComboBox7Exit(Sender: TObject);
begin
 with dm1.Q_cfacturas do
   begin
      active:=false;
      sql.clear;
      sql.add('select id_cuenta from Cfacturas');
      sql.Add('where cuenta = '+#39+combobox7.text+#39);
      active:=true;
      first;
      if recordcount<>0 then
         V_idcuenta:=fieldbyname('id_cuenta').asinteger
         label114.Caption:=fieldbyname('numerocta').asstring;
   end;
end;
Tambien les anexo la imagen de mi consulta

Última edición por nlsgarcia fecha: 02-07-2015 a las 20:39:06. Razón: Sintaxis Delphi
Responder Con Cita
  #2  
Antiguo 02-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y el problema es...?
Responder Con Cita
  #3  
Antiguo 02-07-2015
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Que no me muestra el numero de cuenta en el label
Responder Con Cita
  #4  
Antiguo 02-07-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola bulc.

La composición de cadenas SQL al modo de,
Código Delphi [-]
sql.Add('where cuenta = '+#39+combobox7.text+#39);
ademas de ser permeable a la inyección SQL es de difícil lectura y estéticamente horrible. Siempre que sea posíble usa parámetros.

Código Delphi [-]
procedure Tprincipal2.ComboBox7Exit(Sender: TObject);
var
  cb: TComboBox;
begin
  cb := TComboBox(Sender);
  if cb.ItemIndex <> - 1 then
    with dm1.Q_cfacturas do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT ID_CUENTA FROM CFACTURAS');
      SQL.Add('WHERE CUENTA = :CTA');
      ParamByName('CTA').AsString := cb.Items[cb.ItemIndex];
      Open;
      if not IsEmpty then
        label114.Caption := FieldByName('CTA').AsString;
      Close;
    end;
end;
Si con este código no te muestra ningún valor en la propiedad Caption del Label, puedo asegurarte que: La consulta no arrojó ningún resultado, o bién el campo ID_CUENTA es NULL (en tu código la propiedad Text del combo también podría no haber tenido el valor deseado).

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 02-07-2015 a las 21:01:33. Razón: corregir redacción del texto
Responder Con Cita
  #5  
Antiguo 03-07-2015
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 146
Poder: 18
aposi Va por buen camino
para que te muestre el numero de cuenta, tienes que poner el campo en la consulta

Código Delphi [-]
   SQL.Add('SELECT ID_CUENTA,numerocta FROM CFACTURAS');
Responder Con Cita
  #6  
Antiguo 03-07-2015
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Gracias amigos ya me quedo mi código tome el que me dijo el amigo aposi y me funciono y de nuevo gracias.
Responder Con Cita
  #7  
Antiguo 03-07-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
rufo,

Cita:
Empezado por ecfisa
...Siempre que sea posible usa parámetros (Evita la inyección SQL)...
Cita:
Empezado por rufo
...ya me quedo mi código tome el que me dijo el amigo aposi...


Te sugiero considerar las recomendaciones dadas en el Msg #4, combinado todo lo anterior con algunas variaciones:
Código Delphi [-]
procedure TPrincipal2.ComboBox7Change(Sender: TObject);
begin
   with dm1.Q_CFacturas do
   begin
      Close;
      SQL.Clear;
      SQL.Add('Select ID_Cuenta, NumeroCta From CFacturas');
      SQL.Add('Where Cuenta = :P1');
      ParamByName('P1').AsString := ComboBox7.Items[ComboBox7.ItemIndex];
      Open;
      if Recordcount <> 0 then
      begin
         V_idcuenta := FieldByname('ID_Cuenta').AsInteger
         Label114.Caption := FieldByname('NumeroCta').AsString;
      end;
   end;
end;
Espero sea útil

Nelson.
Responder Con Cita
  #8  
Antiguo 03-07-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Voy a hacer una fe de errata del mensaje #4, producto de que escribi el código diréctamente sobre el mensaje.

Donde dice:
Código Delphi [-]
 label114.Caption := FieldByName('CTA').AsString;
debería decir:
Código Delphi [-]
 label114.Caption := FieldByName('ID_CUENTA').AsString;
Repetí el nombre de parámetro al referenciar la columna.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mostrar mensajes al pasar el mouse por un label o algun objeto de un form foxer_juan Lazarus, FreePascal, Kylix, etc. 4 01-07-2015 04:00:45
Mostrar label en messagebox eennzzoo C++ Builder 2 22-06-2014 20:56:45
mostrar archivos en Label andres_89 C++ Builder 6 04-12-2013 08:26:48
Mostrar en una label un item de un ChekListBox cslbcn OOP 2 23-01-2009 18:07:38
Como mostrar Resultados de una consulta en componentes como los Edit,Label y DbGrids! danny Conexión con bases de datos 2 08-05-2008 23:35:46


La franja horaria es GMT +2. Ahora son las 16:24:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi