Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2011
jhector jhector is offline
Registrado
NULL
 
Registrado: ene 2011
Posts: 1
Poder: 0
jhector Va por buen camino
Cool levantar datos de archivos text en delphi

estoy con un proyecto donde me dan un archivo texto y apartir de esos datos necesito levantar una o varias tablas en la base de datos (mysql),
el archivo de texto viene un cuatro columnas separadas por "',".

ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+archivo+';Extended Properties=text;FMT=Delimited';

estaba conectando con adoconnection, con el string anterior pero me levanta un error de autentificacion.

como seria la mejor manera y mas rapida de conectar para luego mostrar los datos en un grid
Responder Con Cita
  #2  
Antiguo 21-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cita:
Empezado por jhector Ver Mensaje
estoy con un proyecto donde me dan un archivo texto y apartir de esos datos necesito levantar una o varias tablas en la base de datos (mysql),
el archivo de texto viene un cuatro columnas separadas por "',".

ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+archivo+';Extended Properties=text;FMT=Delimited';

estaba conectando con adoconnection, con el string anterior pero me levanta un error de autentificacion.

como seria la mejor manera y mas rapida de conectar para luego mostrar los datos en un grid
Hola jhector...

Bienvenido al Club. Favor lee la guia de estilo

Aqui te respondo lo que tambien solicitaste por mensaje privado. (lo ideal es que preguntes en el mismo hilo que encontrastes...)


El ejemplo es para capturar un archivo de texto o csv separado por comas. Trabajo con D7... y con los componentes Jedi...

Dentro del Formulario tengo los siguientes componentes:


TDriveComboBox -> Seleccionar la Unidad donde se encuentra el archivo
TDirectoryListBox -> Seleccionar el directorio donde se encuentra el archivo
TfilterComboBox -> predefinido para mostrar solo los archivos que quiero (*.txt, *.csv, etc)

TFileListBox -> muestra los archivos que estan en el directorio segun el filtro
TEdit -> Donde dejo el nombre del archivo que se selecciona en el TFileListBox


TJvCsvDataSet -> Donde defino la estructura del archivo de texto o csv (Componente Jedi)
TDBGrid -> Donde muestro los datos del archivo cargado
TDataSourse -> para vincular el archivo de texto con el DBGrid

2 botones tengo... 1 para cargar el archivo y el otro para traspasar a una tabla en mi base de SQL


En el boton 1 (Cargar archivo tengo lo siguiente)
Código Delphi [-]
     
DTexto.Active   := False;  // DTexto es el nombre de mi componente TJvCsvDataSet  , lo desactivo a vincular el archivo
DTexto.FileName := Concat(Label1.Caption,'\',Archivo.Text);  // le asigno la ruta y nombre del archivo  (label1 me captura la ruta...archivo es el Tedit)
DTexto.Active   := True; // Activo el componente
Edit4.Text      := IntToStr(DTexto.RecordCount);  // obtengo el numero de registros
BitBtn3.Enabled := True;  // activo boton 2 para realizar traspaso

con esto el archivo ya esta cargado

espero que esto te sirva...

Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 21-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Ahora te dejo la segunda parte.. que seria el proceso que realizo yo para traspasor los datos que estan en el DBGrid a una tabla de Sql Server

en el boton de Traspasar, pongo el sgte codigo
Código Delphi [-]
Var
   i : Integer;
   nArchivo : String;
begin
     DTexto.First;  // me posiciono en el primer registro
     For i:=0 to DTexto.RecordCount-1 Do   //  Ciclo se realiza de 0 al ultimo
     Begin
          Datos.AQ_Edit.Close;
          Datos.AQ_Edit.Sql.Clear;
          Datos.AQ_Edit.SQL.Add('Insert Into Envio (Env_Ficha, Env_Rol, Env_Proceso, Env_Mes, Env_Ano, Env_Monto)');
          Datos.AQ_Edit.SQL.Add('Values (:v01, :v02, :v03, :v04, :v05, :v06)');
          Datos.AQ_Edit.Parameters[0].Value := DTexto.fieldbyname('FICHA').AsString;
          Datos.AQ_Edit.Parameters[1].Value := DTexto.fieldbyname('ROL').AsString;
          If vPro.ItemIndex = 0 Then
             Datos.AQ_Edit.Parameters[2].Value := 'L'
          Else
             Datos.AQ_Edit.Parameters[2].Value := 'G';
          Datos.AQ_Edit.Parameters[3].Value := vMes.Text;
          Datos.AQ_Edit.Parameters[4].Value := vAno.Text;
          Datos.AQ_Edit.Parameters[5].Value := DTexto.fieldbyname('MONTO').AsString;
          Datos.AQ_Edit.ExecSQL;   // Ejecuto la sentencia SQL para insertar
          DTexto.Next;  // Avanzo al siguiente registro
     End;
     DTexto.Active   := False; //desactivo el componente que muestra el archivo de texto
     RenameFile(Concat(Label1.Caption,'\',Archivo.Text),ChangeFileExt(Concat(Label1.Caption,'\',Archivo.T  ext),'.ok'));  // cambio el nombre al archivo de texto
     Directorio.Refresh;  // refresco los componentes donde me mostraba el archivo seleccionado
     Archivo.Refresh;

end;

prueba con esto orientado a tu base de mysql y me cuentas como te fue

espero que te sirva

Salu2
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 21-01-2011
llSnakell llSnakell is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 73
Poder: 14
llSnakell Va por buen camino
:O q wena justo lo que necesitaba !! muchas gracias !!
no podia encontrarlo

thanks
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
Duda con archivos text Paulao Varios 8 10-06-2008 17:42:31
Guardar lo que tengo en un Edit1.text y edit2.text en una base de datos firebird jorgeluisc Conexión con bases de datos 1 23-04-2006 18:29:28
Convertir Archivos DFM de binario a Texto (Text DFM) DiDi Varios 4 21-04-2005 19:39:43
Levantar Datos de Columna en Grid lionsoft Varios 6 28-03-2005 19:50:06
Levantar los datos de TQuery en memoria Oscar25 Conexión con bases de datos 10 01-09-2004 21:38:54


La franja horaria es GMT +2. Ahora son las 05:24:37.


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