Programación General > C++ Builder
Pasar Archivo Txt A Una Base De Datos
ppgizbo@yahoo.com.mx:
Necesito saber como leer un archivo txt y pasarlo a una base de datos, el archivo esta de la siguiente forma
| 108554 | 19.09.2003 | Opera falsa alarma | Mecanico | METR ORAS
cada campo esta delimitado por el simbolo |
cada línea es un registro para la base de datos.
Adjunte un archivo de los que tengo que pasar
gracias :whistling:
ErickCerPa:
Facil
Checa este codigo y adaptalo
Tienes que saber a que campo va cada cosa
elimina el primer simbolo ya sea saltando con codigo o eliminalo a mano
le puese nombres de campo temporales y aqui te los muesto
la tabla la debes presentar sin el | inicial para que el codigo que el codigo que te paso fucine, si no quieres quietarcelo pues modifica un poquito el Memo1 donde cargas el archivo para que puedas quitar el |
(Me explico)
Numero Fecha Concepto Destino Otros
108554 | 19.09.2003 | Opera falsa alarma | Mecanico | METR ORAS |
//CHECA BIEN LOS | DONDE ESTAN UBICADOS
--- Código: Text --- TTable *Table1; Table1=Clientes->ClientesT; //o como le quieras llamar//espero sepas por lo menos manejar tablas Table1->Filtered=false; Memo1->Lines->LoadFromFile("tu_archivo.TXT"); //el archivo txt que dices //limpiamos la tabla (opcional) Table1->First(); while (Table1->Eof==false) Table1->Delete();//terminamos de limpiar la tabla // Table1->Edit(); for (int i=0; i<=Memo1->Lines->Count-1; i++) { Table1->Append(); S=Memo1->Lines->Strings[i]; pos = S.Pos("|"); S2= S.SubString(1,pos-1); S.Delete(1,pos); Table1->FieldByName("Numero")->Value=S2.ToInt(); pos = S.Pos("|"); S2= S.SubString(1,pos-1); S.Delete(1,pos); Table1->FieldByName("Fecha")->Value=S2; pos = S.Pos("|"); S2= S.SubString(1,pos-1); S.Delete(1,pos); Table1->FieldByName("Concepto")->Value=S2; pos = S.Pos("|"); S2= S.SubString(1,pos-1); S.Delete(1,pos); Table1->FieldByName("Destino")->Value=S2; pos = S.Pos("|"); S2= S.SubString(1,pos-1); S.Delete(1,pos); Table1->FieldByName("Otros")->Value=S2; Table1->Post(); }//fin for
Facil no cres
Si necesitas ayuda solo pon otro MSG
Saludos
y Mucha Mucha Suerte
Bytes :hola:
aguilot_21:
Para hacerlo sin el memo como se leeria??
juanma:
Lo mas comodo es el loadfromfile, pero si quieres leer linea a linea puedes
#include<fstream.h>
//en la funcion
ifstream myfile;
char buf[512];
myfile.open("c:\\test.txt");
if(!myfile)
.. error!
//donde el bucle for del mensaje anterior
while(!myfile.eof()) {
myfile.getline(buf, sizeof(buf));
String cLn = buf;
// y troceamos el cLn como en el mensaje anterior
...
}
myfile.close();
Creo recordar que hay lectura de ficheros con clases mas faciles pero no tengo a mano el código.
juanma:
Error en el mensaje anterior, para pasar el char a string usar el constructor:
String cLn(buff);
Lo que comenté sobre otras clases para manejo de ficheros es para usar un formato fijo y es la clase TFileStream.
Saludos
Juanma
Navegación
[#] Página Siguiente
Ir a la versión completa