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 22-11-2005
ibbeth ibbeth is offline
Miembro
 
Registrado: nov 2005
Posts: 11
Poder: 0
ibbeth Va por buen camino
como importar informacion a mi base de datos desde un disket

hola soy ibbeth, estoy programando con delphi 5, necesito ayuda para poder ingresar informacion en mi base de datos, pero los datos los tengo en un disket como puedo hacerlo? me pueden ayudar? se los agradecere mucho.
Responder Con Cita
  #2  
Antiguo 22-11-2005
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
pero como estan esos datos? en que formato? tu base de datos de cual es? access, sql server?
Responder Con Cita
  #3  
Antiguo 22-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lee la guía de estilo para que podamos ayudarte mejor.
Responder Con Cita
  #4  
Antiguo 22-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

En qu eformato tine slos datos ya que tienes muchas opciones. Xml formato plano formato binario, etc.

La explicacion que te puede dar depende de los datos.

Aunque una muy buen aopcion es que a la hora de generar el archivo con los datos los generes como insert y asi lo ejecutas como un script y lista pero esto es valido si no hay dpendencias o no hay imagenes d elo cnatrario te recomeindo exportar en un formato binario como xml.
Lo del xml lo puedes hacer con uncleint dataset y luego en tu aplicacio cargas el xml a un clein adata set y haces lo que debas hacer.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #5  
Antiguo 24-11-2005
ibbeth ibbeth is offline
Miembro
 
Registrado: nov 2005
Posts: 11
Poder: 0
ibbeth Va por buen camino
bueno estoy trabajanado con FirebirdInterbase y delphi 5.
lo que pasa es que en este programa se manejan datos de diferentes proveedores y lo que se quiere hacer es importar esos datos en una tabla determinada. los dataos estan en varios disket, el formato de los datos es de texto.

Espero me este explicando y puedas ayudarme. Gracias.
Responder Con Cita
  #6  
Antiguo 24-11-2005
ibbeth ibbeth is offline
Miembro
 
Registrado: nov 2005
Posts: 11
Poder: 0
ibbeth Va por buen camino
hola, tratare de explicarte mi pequeño problema.

los datos que contiene el disket son de formato texto, y lo que tengo que hacer es leer desde el diket la informacion, hacer una cadena aisgnandole a cada campo de la tabla parte de la cadena, y como yo apenas empiezo a programar en delphi no se como leer los datos desde el disket.

Espero me este explicando para que me puedas ayudar. De antemano muchas gracias.

Nota: estoy trabajando con FirebirdInterbase y delphi5
Responder Con Cita
  #7  
Antiguo 24-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Si los archivos son de solo texto, prueba usando la clase TStringList. En la ayuda de Delphi puedes encontrar información.

Como tip, busca sobre el método LoadFromFile.


Saludos...
Responder Con Cita
  #8  
Antiguo 26-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Como te dicen usa un tstringlsit y lee acerca de la funcion extractstrin par que separes loscampo que estan formateado en le registro.

Si me das el formato del archivo te envio el codiog echo par qu eno tengas dolr de cabesas
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #9  
Antiguo 28-11-2005
ibbeth ibbeth is offline
Miembro
 
Registrado: nov 2005
Posts: 11
Poder: 0
ibbeth Va por buen camino
Gracias por tu ayuda, no es pesades pero quiero intentarlo, te agradezco de todo corazon tu ayuda,pero si no pude te digo y me ayudas va.

Con cariño ibbeth
Responder Con Cita
  #10  
Antiguo 29-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Mira supongamos que tienes tienes lo siguiente.

Tu tabla con u campo entero, uno varchar, otro fecha con los siguientes nombres "Id", "Descripcion", "Fecha de ingreso"

A la tabla se llama "Informacion"

Y tu archivo tiene el formato
1,La casa es roja,10/12/2005
34,otra cadena mas,23/10/2004

En lo unico que tienes que tener cuidado es que al enviar la fecha la envies en formato gringo ya que asi es como la reconoce firebird ose 12/10/20005 y 10/23/2004 respectivamente pero si no me explique bien aqui tienes el codigo.
Código Delphi [-]
Procedure InsertarDatos(Const cArchivo: TFileName);
Const
  csSql = 'Insert Into "Informacion"("Id",  "Descripcion", "Fecha de ingreso") Values(%s, ''%s'', ''%s'');';
Var
  lExtructura, lArchivo: TStrings;
  lIbScript: TIB_Script;
  I: Integer;
Begin
  //Asi se encuentra en el formato de disco
  //"Id",  "Descripcion", "Fecha de ingreso"
  lArchivo := TStringList.Create; //Creo el archivo
  lExtructura := TStringList.Create; //acrea la estructura
  lIbScript := TIB_Script.Create(Nil); //Creao el escript que ejecutara las instrucciones
  //lIbScript.IB_Connection := el nombre del componente de base de datos que establece la conexion
  //Yo trabajo con ibo tu solos debes adatarlo al tipo d ecomponentes que uses
  Try
    lArchivo.LoadFromFile(cArchivo); //Leo le archivo
    For I := 0 To lArchivo.Count-1 Do Begin
      lExtructura.Clear; //Limpio la estructura
      ExtractStrings([','], [','], Pchar(lArchivo[i]), lExtructura); //Extraigo la la line actual del archivo par apoder trabajarla
      lIbScript.SQL.Add(Format(csSql, [lExtructura[0], lExtructura[1], FormatDateTime('mm/dd/yyyy', StrToDate(lExtructura[2]))])); //Ensamblo la linea de insercion
    End;
    lIbScript.Execute; //Envio los datos hacia la base de datos y listo
  Finally
    lExtructura.Free;
    lArchivo.Free;
    lIbScript.Free;
  End;
End;
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.

Última edición por rastafarey fecha: 29-11-2005 a las 14:37:22. Razón: Me equiboque en un indice
Responder Con Cita
  #11  
Antiguo 29-11-2005
ibbeth ibbeth is offline
Miembro
 
Registrado: nov 2005
Posts: 11
Poder: 0
ibbeth Va por buen camino
Thumbs down

hola no se quien seas pero nuevamente te agradezco tu ayuda.
graaaaacias.
Responder Con Cita
  #12  
Antiguo 30-11-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Soy RASTAFAREY pero si dices por lo del codigo.
Es que ultimadamente solo responde con codigo por que mis explciaciones no las estan entendiendo.
auanque creo que es que soy malo para explicar.

ha con lo de respecto als gracias de nada
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #13  
Antiguo 20-01-2007
JL_IFE JL_IFE is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
JL_IFE Va por buen camino
Duda

para RASTAFAREY si puede contestarme
Disculpen si esto es muy basico
Deseo hacer lo mismo pero la base de datos es con informix y con delphi 6 la duda es en lugar del script que debo manejar, supongo que a travez de un query guardo en la base de datos y la estructura que se sigue usando, si es basico donde lo checo , de todos modos estoy leyendo sobre bases de datos.
Responder Con Cita
  #14  
Antiguo 20-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
si te fijas, lIbScript tiene una propiedad que es sql también, por tanto puedes usar un query como dices, aunque ejecutando la sql por cada línea del Stringlist.

Más o menos:
Código Delphi [-]
For I := 0 To lArchivo.Count-1 Do Begin
      lExtructura.Clear; //Limpio la estructura
      ExtractStrings([','], [','], Pchar(lArchivo[i]), lExtructura); //Extraigo la la line actual del archivo par apoder trabajarla
      lIbScript.SQL.Add(Format(csSql, [lExtructura[0], lExtructura[1], FormatDateTime('mm/dd/yyyy', StrToDate(lExtructura[2]))])); //Ensamblo la linea de insercion
    lIbScript.Execute; // Por cada iteración, ejecuto el script, en tu caso un Query
    End;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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


La franja horaria es GMT +2. Ahora son las 12:16:36.


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