Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2010
ivantech ivantech is offline
Miembro
 
Registrado: dic 2009
Posts: 27
Poder: 0
ivantech Va por buen camino
si eso mismo, pero no se como trabajar esa parte del array si me pudieran echar una manito se los agradeceria bastante, estoy medio estancado con esto.
Responder Con Cita
  #2  
Antiguo 09-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui no solo hay que tomar en cuenta lo que hace o no un array.
Hay que saber:
1-Cuantos campos tiene la tabla?.
2-Siempre se actualizan todos, los mismo, en el mismo orden?.
3-Es necesario una vista previa antes de guardar (para detectar errores)??.
Ademas es necesario añadir al codigo:
La eliminacion de la barra antes de guardar el dato.
La eliminacion de espacios.
La consecuente revision de que si llego al ultimo campo regrese a la primer campo y vuelva a guardar.

Como dije, es una faena interesante que te queda por delante.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 11-08-2010
jacanche jacanche is offline
Miembro
 
Registrado: may 2003
Ubicación: Campeche,Campeche,Mexico
Posts: 137
Poder: 22
jacanche Va por buen camino
Una pregunta?,tiene que ser necesariamente un txt?, por que no un xml u otro formato para el que ya exista soporte para hacer el parseo?
__________________
Saludos

Alfredo
Responder Con Cita
  #4  
Antiguo 11-08-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Pues según leo, me parece que si es necesario que sea un .txt, ya que parece ser que es un usuario el que va a manipular dicho archivo...

Ahora, para hacer el parseo que quieres, puedes usar la clase TStringList para lo que quieres, solo cargas cada línea en un TStringList y usas las propiedades que tiene para estos casos:

Código Delphi [-]
var
  Tokenizer: TStringList;
  I: Integer;

begin
  Tokenizer := TStringList.Create;
  try
    Tokenizer.Delimiter := '|';
    Tokenizer.StrictDelimiter := True;
    Tokenizer.DelimitedText := LineaDelArchivoDelimitado; // SRS1012101001120100707121115|SRS1|1|21|1|1|000-0000000-0|
      //RUTH ESTHER RODRIGUEZ...
    // Asignas cada Tokenizer[n] a un campo de la tabla:
    Tabla.Campo1.Value := Tokenizer[0];
    Tabla.Campo2.Value := Tokenizer[1];
    ...
    Tabla.Campon.Value := Tokenizer[n];
  finally
    Tokenizer.Free
  end
end;

Este es solo un ejemplo de como lo deberías hacer, para más información busca en la ayuda de Delphi sobre la clase TStringList.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #5  
Antiguo 11-08-2010
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Esto te puede servir??

1 Crear un archivo llamado script.sql (o como quiera llamarlo) con el contenido a insertar en la tabla, por ejemplo:

Código SQL [-]
INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES ('AAAA1', 1);
INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES ('AAAA2', 2);
INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES ('AAAA3', 3);
INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES ('AAAA4', 4);
INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES ('AAAA5', 5);
INSERT INTO TABLA (CAMPO1, CAMPO2) VALUES ('AAAA6', 6);
commit;
exit;


2 Ejecutar en un archivo bat o en linea de comandos algo como lo siguiente:

Cita:
isql localhost:c:\ruta\Bd.fdb -u sysdba -p masterkey -i d:\script.sql
Espero sea eso lo que busca....
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #6  
Antiguo 12-08-2010
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
mmm creo que mi comentario anterior fue una respuesta al titulo del hilo sin leer el contenido...
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #7  
Antiguo 01-09-2010
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

con una simple consulta.

conectate con un ib_query u el compnenente queuses.

preparas la consulta lees el archivo con tmemorystream.

y luego cargar el parametro al ib_query.

y listo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
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
actualizar tabla al insertar en otra tabla hybrid Conexión con bases de datos 14 02-12-2009 15:09:13
leer txt con firebird laukri Firebird e Interbase 6 06-01-2008 18:06:52
Leer/insertar/modificar datos desde un archivo XML IVAND Varios 1 26-08-2006 23:11:29
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 11:29:40


La franja horaria es GMT +2. Ahora son las 15:27:53.


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