FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Base TXT de Datos
¿Cómo encarar la siguiente mínima Base de Datos de Alumnos, datos recuperados de un archivo TXT?
Quiero evitarme dependencias de Base de Datos, SQL, etc, ya que el objetivo es recuperar y mostrar solamente Datos y notas de Alumnos desde un archivo TXT, pues los mismos no rebasan de una cantidad de 100 elementos, y estos Datos no serán modificados, ni renombrados, ni agregados, ni nada por el estilo, SON FIJOS de una Gestión pasada. La idea es la siguiente: ID...Apellido.....Nombre....Curso....Nota1.....Nota2....Nota3 01....Álvarez........David........1ro........43...........55........90 02....Oropeza.......Jorge........4to........67...........36........80 03....Camacho......Pedro........2do.......33...........75........20 04....Álvarez........Andrés.......1ro.......58...........65........40 05....Miranda........María........3ro........80...........22........30 06....Pérez...........Henry........4to.......77...........59........90 07....Campero......Joanna.......2do.......34...........96........50 08....Ruiz.............Lucy.........1ro........43...........60........70 ........ 100.....etc., etc. Pensaba, recuperarlo en Delphi con: No sé si estoy encarando bien esta parte o existe otro mejor camino, pues para 100 datos no vale la pena como dije depender de una Base de Datos. ¿Que opinan al respecto? Mis preguntas: 1- ¿Cómo mostrar en un TListBox un FILTRO de "Curso", donde solo me muestren los "ID"?, es decir por ejemplo para mostrar los ID de "1ro", el resultado en el TLIstBox debería ser: 01 04 08 2- Que si selecciono por ejemplo en el TListBox "01" en 3 TEdits que tengo en el Form me muestre de "01" sus valores= Nota1 (TEdit1), Nota2 (TEdit2), Nota3 (TEdit3) 3- Y lo más complicado (me parece) mostrar los "ID" en el TListBox con el FILTRO de "Curso" pero que obedezcan a una ORDENACIÓN de "Nombre". El resultado debería ser: 04 01 08 Disculpen si es demasiado sencillo la pregunta, o tal vez me digan mejor si es con SQL (no me concozco bien) pero me estoy haciendo un bollo con los algoritmos y funciones. Agradeceré vuestra ayuda. Un Saludo Última edición por Deiv fecha: 12-01-2007 a las 16:20:16. |
#2
|
||||
|
||||
Te recomiendo que utilices ADO para acceder al fichero de texto; Utilizandolo puedes trabajar con ficheros de texto con Columnas de ancho fijo y columnas delimitadas.
Para mí la ventaja de hacerlo así es que accederás al fichero como si fuera una Base de Datos; Eso te facilitará algunas operaciones e incluso podrás utilizar componentes de B.D. Para Columnas de Ancho fijo puedes utilizar esta ConectionString: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Fixed"; Para las delimitadas esta: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Delimited";
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
He intentado con la sugerencia del ADO, y no puedo recuperar mi Tabla TXT, no estoy bueno con componentes de Base de Datos espero comprendan; he colocado 2 componentes en mi formulario TADOConnection y TADOTable; en la propiedad ConnectionString del TADOConnection he puesto como se dijo (cambiando obviamente: c:\txtFilesFolder\) y en TADOTable en la propiedad Connection selecciono ADOConnection1, en la propiedad TableName me aparecen varios archivos de la elijo MiTabla#TXT (eso de # no sé si está bien), le doy doble click a TADOTable y la tabla está vacía. He tomado como ejemplo el siguiente TXT:
Producto,Cantidad,Precio Sierra eléctrica,1,250 Machete,5,2.70 Detergente,1,10 Delantal,2,7.25 Afilador,3,5 ¿Que estoy haciendo mal para recuperar la tabla? ¿Que me falta? Cita:
Última edición por Deiv fecha: 14-01-2007 a las 18:24:59. |
#4
|
||||
|
||||
Acabo de hacer la prueba con el ejemplo que pones, usando la segunda cadena de conexión que puso Neftali, y me ha funcionado bien. ¿Has activado la tabla luego de escoger el txt?
// Saludos |
#5
|
||||
|
||||
Pues yo, una vez de utilizar componentes de base de datos, los datos los metería en una tabla, así estarían mas protegidos y cualquier acción de filtro, ordenado etc. sería mucho más fácil.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
||||
|
||||
Un ejemplo de cómo configurarlo.
Puedes abrir el fichero, e incluso ordenar. NOTA: He cambiado las "comas" por "puntos y comas"
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
||||
|
||||
Cita:
Me basé en la premisa de hacerlo sobre un TXT, pero si hay posibilidad, yo pasaría los datos a una tabla de DBase (por ejemplo) que se puede acceder igualmente utilizando ADO sin necesidad de BDE, simplemente cambiando la conexión. En ese caso la dependencia es mínima (sólo las MDAC), pero eso pasa también con el TXT.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Actualizar datos de una base de datos en un reporte | Marymania | Impresión | 4 | 27-11-2006 19:47:32 |
Añadir datos desde una base de datos a un TListBox | proyecto | Conexión con bases de datos | 1 | 21-11-2006 07:01:19 |
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas | adaypr | C++ Builder | 1 | 05-09-2006 11:56:33 |
ubicar archivo, con datos sacados de base de datos | Giniromero | Varios | 19 | 20-10-2005 16:23:02 |
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) | frankmch | Conexión con bases de datos | 2 | 08-09-2003 19:44:52 |
|