Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-12-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
ListView con sql Server

hola amigos, trato de llevar unos campos de Sql Server a los item de listview algunos de ellos fueron creados por mi, no he logrago conseguir la forma de hacerlo.

Código Delphi [-]
procedure TForminicio.Button1Click(Sender: TObject);
var
vItemList : TListViewItem;
StreamIMG : TStream;
begin
UniQueryVisita.Close;
UniQueryVisita.Open;
while not UniQueryVisita.Eof do
 begin
   vItemList := lvClientes.items.Add;
   StreamIMG := TMemoryStream.Create;
   if UniQueryVisitafoto.IsNull then
      IMG_Vendor.bitmap.saveToStream(streamIMG)
      else
      UniQueryVisitafoto.saveToStream(streamIMG);
      vItemList.bitmap := Circle1.MakeScreenshot;
//      vItemList.text := UniQueryVisitaNom_Vis.AsString;
//      vItemList.
//    vItemList.Text  := UniQueryVisitaRut__Vis.AsString;
      UniQueryVisita.Next;
      end;
end;

Adjunto imagen tambien del ide, talvez con eso puede ser mas de ayuda para el que realmente conoce del tema.

Última edición por giantonti1801 fecha: 29-03-2023 a las 20:43:36.
Responder Con Cita
  #2  
Antiguo 15-12-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No necesitas hacerlo por código, utiliza los VisualBindings para hacer lo que necesitas.
Define los elementos de la lista para que incluyan una imagen, por ejemplo con el tipo ImageListItemShowCheck (o cualquier oro que incluya la imagen).



Define los campos persistentes para tu consulta.



Y luego visualmente, hacer el "binding".

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 15-12-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Efectivamente así lo tengo funcionando por ahora esto ya lo tenia claro pero de esta forma no me sirve ya que depende de unas condiciones que le le apliquen en una consultas del.sql debe mostrar los datos como por ejemplo inicio de sección para que solo se presten los datos en la consulta de esta persona, también otras condiciones que están en los edti.text en los largos del programa y no puedo hacerlo por binding obligatoriamente tengo que hacerlo en tiempo de ejecución.
Responder Con Cita
  #4  
Antiguo 16-12-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Cita:
Empezado por giantonti1801 Ver Mensaje
hola amigos, trato de llevar unos campos de Sql Server a los item de listview algunos de ellos fueron creados por mi, no he logrago conseguir la forma de hacerlo.

Código Delphi [-]
procedure TForminicio.Button1Click(Sender: TObject);
var
vItemList : TListViewItem;
StreamIMG : TStream;
begin
UniQueryVisita.Close;
UniQueryVisita.Open;
while not UniQueryVisita.Eof do
 begin
   vItemList := lvClientes.items.Add;
   StreamIMG := TMemoryStream.Create;
   if UniQueryVisitafoto.IsNull then
      IMG_Vendor.bitmap.saveToStream(streamIMG)
      else
      UniQueryVisitafoto.saveToStream(streamIMG);
      vItemList.bitmap := Circle1.MakeScreenshot;
//      vItemList.text := UniQueryVisitaNom_Vis.AsString;
//      vItemList.
//    vItemList.Text  := UniQueryVisitaRut__Vis.AsString;
      UniQueryVisita.Next;
      end;
end;

Adjunto imagen tambien del ide, talvez con eso puede ser mas de ayuda para el que realmente conoce del tema.
Buen dia alguien puedes ayudarme con eso?
Responder Con Cita
  #5  
Antiguo 16-12-2022
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Me tome algunas licencias con los nombres de los campos, pero es un ejemplo de otro método para cargar datos a un TListView.

Código Delphi [-]
procedure TForminicio.ClienteAddListView(Cliente_Id: integer;
                                         Cliente_Nombre, 
                     Cliente_Email: string;
                                         Cliente_Foto: TBitmap);
var
    item: TListViewItem;
begin
    item := lvClientes.Items.Add;
    item.Height := 90;
    item.Tag    := Cliente_Id;

    {!PRECAUCION!}
    {Los nombre de los objetos del Item son sencibles a minusculas y mayusculas: 'txtCliente_Nombre', 'txtCliente_Email'...}

    TListItemText(item.Objects.FindDrawable('txtCliente_Nombre')).Text := Cliente_Nombre;
    TListItemText(item.Objects.FindDrawable('txtCliente_Email')).Text := Cliente_Email;
  
    if Cliente_Foto <> nil then
       TListItemImage(item.Objects.FindDrawable('imgCliente_Foto')).Bitmap := Cliente_Foto;
end;

procedure TFrmPrincipal.ClientesListar;
var
    Cliente_foto: TBitmap;
    foto_stream: TStream;
begin
    lvClientes.BeginUpdate;
    lvClientes.Items.Clear;

    with UniQueryVisita do
    begin
        Active := false;
        SQL.Clear;
        SQL.Add('select * from Clientes order by Cliente_id');
        Active := true;

        while NOT eof do
        begin
             Cliente_Foto := nil;
       
       if not FieldByName('Cliente_Foto').IsNull then
             begin
                foto_stream := CreateBlobStream(FieldByName('Cliente_Foto'), TBlobStreamMode.bmRead);
        
                Cliente_Foto:= TBitmap.Create;
                Cliente_Foto.LoadFromStream(foto_stream);

                foto_stream.DisposeOf;
            end;

            ClienteAddListView(FieldByName('Cliente_id').AsInteger,
                               FieldByName('Cliente_Nombre').AsString,
                               FieldByName('Cliente_email').AsString,
                               Cliente_Foto);

            Next;
        end;
    end;

    lvClientes.EndUpdate;
end;

Espero te ayude, saludos cordiales
Responder Con Cita
  #6  
Antiguo 17-12-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Poder: 2
giantonti1801 Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Me tome algunas licencias con los nombres de los campos, pero es un ejemplo de otro método para cargar datos a un TListView.

Código Delphi [-]
procedure TForminicio.ClienteAddListView(Cliente_Id: integer;
                                         Cliente_Nombre, 
                     Cliente_Email: string;
                                         Cliente_Foto: TBitmap);
var
    item: TListViewItem;
begin
    item := lvClientes.Items.Add;
    item.Height := 90;
    item.Tag    := Cliente_Id;

    {!PRECAUCION!}
    {Los nombre de los objetos del Item son sencibles a minusculas y mayusculas: 'txtCliente_Nombre', 'txtCliente_Email'...}

    TListItemText(item.Objects.FindDrawable('txtCliente_Nombre')).Text := Cliente_Nombre;
    TListItemText(item.Objects.FindDrawable('txtCliente_Email')).Text := Cliente_Email;
  
    if Cliente_Foto <> nil then
       TListItemImage(item.Objects.FindDrawable('imgCliente_Foto')).Bitmap := Cliente_Foto;
end;

procedure TFrmPrincipal.ClientesListar;
var
    Cliente_foto: TBitmap;
    foto_stream: TStream;
begin
    lvClientes.BeginUpdate;
    lvClientes.Items.Clear;

    with UniQueryVisita do
    begin
        Active := false;
        SQL.Clear;
        SQL.Add('select * from Clientes order by Cliente_id');
        Active := true;

        while NOT eof do
        begin
             Cliente_Foto := nil;
       
       if not FieldByName('Cliente_Foto').IsNull then
             begin
                foto_stream := CreateBlobStream(FieldByName('Cliente_Foto'), TBlobStreamMode.bmRead);
        
                Cliente_Foto:= TBitmap.Create;
                Cliente_Foto.LoadFromStream(foto_stream);

                foto_stream.DisposeOf;
            end;

            ClienteAddListView(FieldByName('Cliente_id').AsInteger,
                               FieldByName('Cliente_Nombre').AsString,
                               FieldByName('Cliente_email').AsString,
                               Cliente_Foto);

            Next;
        end;
    end;

    lvClientes.EndUpdate;
end;

Espero te ayude, saludos cordiales
gracias por tu respuesta amigo, pero fijate tengo toda la tarde tratando de indentificar cuales losn los nombres de los campos de la base de dato y cuales son los nombres de las cajas donde voy a pasar los datos

Código Delphi [-]
procedure TForminicio.ClientesListar;
var
    Cliente_foto: TBitmap;
    foto_stream: TStream;
begin
    lvClientes.BeginUpdate;
    lvClientes.Items.Clear;

    with UniQueryVisita do
    begin
        Active := false;
        SQL.Clear;
        SQL.Add('select * from Visitas');
        Active := true;

        while NOT eof do
        begin
             Cliente_Foto := nil;

       if not FieldByName('Foto').IsNull then
             begin
                foto_stream := CreateBlobStream(FieldByName('Foto'), TBlobStreamMode.bmRead);

                Cliente_Foto:= TBitmap.Create;
                Cliente_Foto.LoadFromStream(foto_stream);

                foto_stream.DisposeOf;
            end;

            ClienteAddListView(FieldByName('Cliente_RUT').AsString,
                               FieldByName('Cliente_Nombre').AsString,
                               FieldByName('Cliente_email').AsString,
                               FieldByName('Cliente_Apellido').AsString,
                               FieldByName('Aceptacion_visita').AsString,
                               FieldByName('Cliente_comentario').AsString,
                               Cliente_Foto);

            Next;
        end;
    end;

    lvClientes.EndUpdate;
end;


Código Delphi [-]
procedure TForminicio.ClienteAddListView(Cliente_RUT, Cliente_Nombre,
  Cliente_Apellido, Cliente_comentario, Aceptacion_visita,
  Cliente_Email: string; Cliente_Foto: TBitmap);
var
    item: TListViewItem;
begin
    item := lvClientes.Items.Add;
    item.Height := 90;
    //item.Tag    := Cliente_RUT;

    {!PRECAUCION!}
    {Los nombre de los objetos del Item son sencibles a minusculas y mayusculas: 'txtCliente_Nombre', 'txtCliente_Email'...}

    TListItemText(item.Objects.FindDrawable('Nom_Visita_txt')).Text := Cliente_Nombre;
    TListItemText(item.Objects.FindDrawable('ACT_visita_txt')).Text := Cliente_Apellido;
    TListItemText(item.Objects.FindDrawable('txtNome')).Text := Cliente_RUT;
    TListItemText(item.Objects.FindDrawable('txtEmail')).Text := Aceptacion_visita;
    TListItemText(item.Objects.FindDrawable('txtEndereco')).Text := Cliente_comentario;

    if Cliente_Foto <> nil then
       TListItemImage(item.Objects.FindDrawable('imgVendedor')).Bitmap := Cliente_Foto;
end;
Responder Con Cita
Respuesta



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
apt-get install mssql-server (Sql server para linux disponible) mamcx MS SQL Server 1 17-11-2016 00:29:28
SQL Server 2000 vs Windows Server 2008 Enterprise lgarcia MS SQL Server 9 31-08-2016 19:10:58
Problemas conectividad instalando sql server 2000 en w2k server ospaco69 MS SQL Server 1 16-02-2007 04:39:17
Existe el postgres SQL Server y Client como el SQL Server??? alastor Conexión con bases de datos 5 28-09-2006 21:46:13
Windows Media Server e Internet Information Server Ñuño Martínez Windows 0 08-09-2006 11:26:53


La franja horaria es GMT +2. Ahora son las 23:31:21.


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