Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-04-2023
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Y el record?
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 27-04-2023
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 20
ElDuc Va por buen camino
Perdona.

Código Delphi [-]
    MyRecord:Record
        Id:Int64;
        Value1:AnsiChar;
        Value2:SmallInt;
        Value3:Boolean;
    End;
Responder Con Cita
  #3  
Antiguo 27-04-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo de leer el .csv y pasarlo a un record y luego del record a la base de datos... es un paso que te puedes ahorrar perfectamente.
Lo lees del csv y lo guardas en la BD, nada más.
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  csvFile: TStringList;
  line: string;
  fields: TStringList;
  i: Integer;
begin
  csvFile := TStringList.Create;
  fields := TStringList.Create;
  try
    csvFile.LoadFromFile('C:\ruta\archivo.csv');
    IBTransaction1.StartTransaction;
    IBDataSet1.Transaction := IBTransaction1;
    IBDataSet1.Open;
    try
      for i := 0 to csvFile.Count - 1 do
      begin
        line := csvFile[i];
        fields.CommaText := line;
        IBDataSet1.Insert;
        IBDataSet1.FieldByName('campo1').Value := fields[0];
        IBDataSet1.FieldByName('campo2').Value := fields[1];
        IBDataSet1.FieldByName('campo3').Value := fields[2];
        // ...
        // Aquí puedes hacer los procesos que necesitas con algunos datos
        // ...
        IBDataSet1.Post;
      end;
      IBTransaction1.Commit;
      ShowMessage('Registros insertados correctamente.');
    except
      on E: Exception do
      begin
        IBTransaction1.Rollback;
        ShowMessage('Error al insertar registros: ' + E.Message);
      end;
    end;
  finally
    csvFile.Free;
    fields.Free;
  end;
end;
Este código carga el archivo CSV en un objeto TStringList, luego abre una transacción y un conjunto de datos utilizando los componentes IBTransaction y IBDataSet, respectivamente. Luego, itera sobre cada línea del archivo CSV y separa los campos utilizando el método CommaText del objeto TStringList. Finalmente, inserta cada registro en la base de datos utilizando el método Insert y asignando los valores de los campos correspondientes.
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
Insercion masiva desde Paradox a Firebird MartinS SQL 5 22-12-2011 14:55:10
insercion masiva Alfredo Firebird e Interbase 3 12-11-2008 20:34:46
Insercion masiva de una BD a otra BD oscjae Firebird e Interbase 5 15-12-2006 20:25:49
Insercion masiva de registros MUY LENTA Balda Firebird e Interbase 10 24-03-2004 21:40:21
Inserción masiva en MySQL Morfo MySQL 3 09-01-2004 18:05:33


La franja horaria es GMT +2. Ahora son las 01:27:08.


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