Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Pasar Datos de un Listview a un tabla (https://www.clubdelphi.com/foros/showthread.php?t=76553)

frholguin 09-11-2011 06:49:03

Pasar Datos de un Listview a un tabla
 
Buenas noches, me han pedido algo en el trabajo y es que esporte unos datos de excel a una tabla para generar un reporte X, ya hice la parte de hala la informacion, las puse un listview, lo que me anda faltando es como puedo pasar esos datos del listview a una tabla o una base de datos para despues poder consultar. aqui dejo el codigo que use.
Código Delphi [-]
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  {listview1.Clear; }
  {;}
  if OpenDialog1.Execute then
    Excel.Workbooks.Open(ExtractFilePath(Application.ExeName)+ ExtractFileName(OpenDialog1.FileName),
    EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, EmptyParam, EmptyParam, EmptyParam,0 );
  Hoja := Excel.Worksheets.Item[1] as _WorkSheet;
  i := 12;
  si := IntToStr( i );
  repeat
    with ListView1.Items.Add do
    begin
      SubItems.Add( Hoja.Range['B'+si,'B'+si].value2 ); // linea
      SubItems.Add( Hoja.Range['C'+si,'C'+si].Value2 ); // rnc
      SubItems.Add( Hoja.Range['D'+si,'D'+si].Value2 ); // tipo id
      SubItems.Add( Hoja.Range['E'+si,'E'+si].Value2 ); // tipo servicio
      SubItems.Add( Hoja.Range['F'+si,'F'+si].Value2 );
      SubItems.Add( Hoja.Range['G'+si,'G'+si].Value2 );
      SubItems.Add( Hoja.Range['H'+si,'H'+si].Value2 );
      SubItems.Add( Hoja.Range['I'+si,'I'+si].Value2 );
      SubItems.Add( Hoja.Range['J'+si,'J'+si].Value2 );
      SubItems.Add( Hoja.Range['K'+si,'K'+si].Value2 );
      SubItems.Add( Hoja.Range['L'+si,'L'+si].Value2 );
      SubItems.Add( Hoja.Range['M'+si,'M'+si].Value2 );
    end;
    Inc( i );
    si := IntToStr( i );
  until ( VarType( Excel.Range['B'+si,'B'+si].Value2) = VarEmpty );
  Excel.Workbooks.Close( 0 );
end;
:confused:
gracias de ante mano.

ecfisa 09-11-2011 07:15:35

Hola frholguin.

Por favor cuando agregues código a tu mensaje usa los TAG's.



Saludos y gracias por tu colaboración.

frholguin 09-11-2011 13:28:52

disculpa para la proxima.

roman 09-11-2011 15:54:09

Cita:

Empezado por frholguin (Mensaje 417962)
Buenas noches, me han pedido algo en el trabajo y es que esporte unos datos de excel a una tabla para generar un reporte X, ya hice la parte de hala la informacion, las puse un listview, lo que me anda faltando es como puedo pasar esos datos del listview a una tabla o una base de datos para despues poder consultar. aqui dejo el codigo que use.

Hombre, lo del ListView te lo puedes saltar y colocar directamente los valores en la tabla. Sería bueno que mencionases que tipo de tabla vas a usar y así saber qué componentes usar.

En general, usarás un dataset conectado a la tabla y podrás hacer asignaciones del tipo:

Código Delphi [-]
DataSet.Insert; // para insertar un registro en blanco

...

DataSet.FieldByName('ColumnaB' + si).AsString := Hoja.Range['B'+si,'B'+si].value2;

...

DataSet.Post; // para guardar los datos luego de las asignaciones

// Saludos

ElDioni 09-11-2011 17:13:26

Hola, de todas formas si lo que quieres saber es como ir recorriendo el listbox para guardar los datos lo puedes hacer de la siguiente manera.

Código Delphi [-]
for x:=0 to listbox1.Count-1 do
  begin
    "Aquí le asignas a tu dataset el valor de listbox":=Listbox1.Items[x];
  end;

Saludos.

frholguin 10-11-2011 00:09:41

Bueno gracias,

para la base de datos quiero usar Interbase como base de datos.

frholguin 11-11-2011 01:03:29

Disculpen dentro de la misma pregunta gracias por las respuestas, pero hay algo que no me pasa y es que tengo valores char,varchar en la BD y esto me dan error hay alguna forma de solucionar, tengo una idea pero no se si funcionaria y es declarar variables con los valores correspondientes, ya que aqui solo estoy usando un tipo de valor que es String al final.

gracias.


La franja horaria es GMT +2. Ahora son las 06:22:35.

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