FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Enlazar base datos con distintos directorios en red
Hola de nuevo, hace un tiempo tuve problemas al poder conectar en red mi programa, gracias a vosotros lo hice con la siguiente sintaxis:
dentro del programa delphi:
en el Archivo ini:
Bien, ahora quería complicarlo un poco más, y es poder manejar varias ejercicios o campañas, los datos de cada campaña están en un directorio distinto así por ejemplo la campaña 2012 están en el Directorio "DATOS12", la campaña 2.013 en el directorio "DATOS13". si yo modifico en el archivo ini manualmente y lo modifico escribiendo:
Accedo bien a los datos de la campaña 2013, pero cómo puedo hacerlo con el programa ejecutándose. Yo al iniciar el programa creo el formulario creo el componente como por ejemplo un combobox para elegir las distintas campañas, pero no sé cómo implementarlo, he intentando buscar información pero no la encuentro. Gracias. Última edición por Casimiro Notevi fecha: 19-03-2013 a las 19:13:26. |
#2
|
||||
|
||||
Yo hago esto:
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Constantes del formulario
Función para mostrar el formulario y devolver ruta completa de conexión
En el archivo ini separaría la ruta del nombre de la base de datos
Create del DataModule
__________________
La Madurez se llama... ~~~Gaia~~~ Última edición por ozsWizzard fecha: 20-03-2013 a las 12:02:10. |
#4
|
||||
|
||||
¡Ostras!, se me acaba de venir un error a la cabeza, lo primero es que faltaría sumarle 1 al itemIndex de la última línea de la función Mostrar y ni por esas está bien, eso sería asumiendo que existen todos los años desde el 2000, pero no es así.
Tal y como está ahora, lo mejor es sutituir por ComboBox1.Text.
El error es por empezar con una solución y acabar con otra... quería mostrar en el combobox "campaña 20XX" y me lié. Para hacerlo de esta segunda forma, mejor sería hacer un array simultáneo al combobox y un procedimiento AddCampana: Variables globales al formulario
Procedimiento AddCampana
Nuevamente la función Mostrar
Saludos.
__________________
La Madurez se llama... ~~~Gaia~~~ |
#5
|
|||
|
|||
Al final he hecho un híbrido a lo que me habéis dicho, he creado un Combobox en el Formulario Principial donde están los distintos ejercicios, 12,13,14...., al ejecutar el programa por primera vez coge el ejercicio que hay en el combobox
Código Delphi [-] procedure TDataModule1.DataModuleCreate(Sender: TObject); Var BaseDeDatos: String; ElIniFile: TIniFile; ejercicio:string; begin // Obtiene la ruta y el nombre de la base de datos ElIniFile := TIniFile.Create(ExtractFilePath(Application.exename)+'BDatos.ini'); BasedeDatos := ElIniFile.ReadString('BD','Path',''); If BasedeDatos = '' then // ShowMessage('Error al cargar Base de Datos') else ibdatabase1.Connected:=false; ejercicio:=FormPrincipal.Combobox1.text; BaseDeDatos:=BaseDeDatos+'Datos'+ejercicio; ibdatabase1.DatabaseName:=BasedeDatos+'\Maestro.ib'; // BaseGeneral es el TIbDatabase y le asigno la ruta de la base de datos segun .ini ibdatabase1.Connected:=true; end; y luego al cambiar el Combobox de ejercicio he hecho lo siguiente: Código Delphi [-]procedure TFormPrincipal.ComboBox1Change(Sender: TObject); Var BaseDeDatos: String; ElIniFile: TIniFile; ejercicio:string; begin // Obtiene la ruta y el nombre de la base de datos dat.DataModule1.IBDatabase1.Connected:=false; ElIniFile := TIniFile.Create(ExtractFilePath(Application.exename)+'BDatos.ini'); BasedeDatos := ElIniFile.ReadString('BD','Path',''); If BasedeDatos = '' then // ShowMessage('Error al cargar Base de Datos') else dat.DataModule1.IBDatabase1.Connected:=false; ejercicio:=FormPrincipal.Combobox1.text; BaseDeDatos:=BaseDeDatos+'Datos'+ejercicio; dat.DataModule1.IBDatabase1.DatabaseName:=BasedeDatos+'\Maestro.ib'; // BaseGeneral es el TIbDatabase y le asigno la ruta de la base de datos segun .ini dat.DataModule1.IBDatabase1.Connected:=true; end; Falta mejorar algunos detalles, pero funciona bien, espero que sea estable en el tiempo que esa es otra Gracias por vuestra ayuda. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Enlazar delphi con una base de datos hecha en Visual Dataflex que esta en SCO-UNIX | didier_chivas | Conexión con bases de datos | 2 | 26-10-2010 19:16:17 |
Enlazar tablas de base de datos | lis983 | Varios | 1 | 29-05-2008 16:26:48 |
REplicación de Base de datos -TRABAJO ENTRE DISTINTOS MOTORES DE BD- | voldemmor | Oracle | 1 | 27-05-2007 10:41:23 |
enlazar base de datos contdbgrid | aitorqrv | Conexión con bases de datos | 1 | 03-04-2007 23:56:45 |
Enlazar con base de datos este donde este | 4-0 | C++ Builder | 5 | 12-01-2007 20:33:00 |
|