FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Conexion con Access
Hola a todos.
Me he llevado varios dias leyendo este foro y es una maravilla y una gran ayuda para poder programar en delphi, mis felicitaciones. Ahora bien, me gustaria hacer una consulta sobre una eleccion que debo de hacer: Estoy haciendo un proyecto Delphi el cual en la mayoria de los casos se instalara en una red (porque normalmente sera una oficina) y en la cual se podran hacer distintas operaciones comunes en cualquier base de datos. Pues bien, e decidido utilizar access por su gran sencillez y versatilidad, pero aun es una desicion revocable si ustedes me lo aconsejarais. La mayoria de las oficinas donde se instalará la aplicacion sera de la siguiente manera: -Una maquina que hara de servidor, donde se instalara la aplicacion y la base de datos (como he dicho antes Access). -Varios clientes que accederan a la base de datos que se instalo en el paso anterior, es decir, el servidor. -Ademas cualquiera de estos clientes o el mismo servidor tendra una opcion en la cual podra elegir subir registros (los que se elijan) previamente almacenados en la base de datos local hacia una base de datos MySQL que hay en un servidor web. Tambien podran bajarse registros a la base de datos local... Pues bien me gustaria que me aconsejaran sobre que conexiones utilizar en mi aplicacion sobre: ( 1 ) la conexion del cliente al servidor (Access) y ( 2 ) del servidor al servidor Remoto (MySQL). En la conexion ( 1 ) explorando e visto por ahí la existencia de los archivos udl mas concretamente con el Proveedor "Microsoft Jet 4.0 OLE DB". Me gustaria saber si esta es una buena opcion combinandola con las herramientas ADOConnection para el caso que os he propuesto. Y me gustaria saber si se puede manipular este archivo desde Delphi 7 para variar la ruta de la base de datos y como hacerlo. En la conexion ( 2 ) aun no he elegido nada, si me pudieran sugerir conexiones y herramientas se lo agradeceria enormemente. Muchas gracias por su atencion y 1 saludo a todos Última edición por Moises22 fecha: 12-12-2005 a las 13:45:05. |
#2
|
||||
|
||||
Buenas!
Por lo que se refiere a la conexión con Access, fijate que en la propiedad connectionString tienes la ruta a la base de datos. Lo que hago normalmente es guardarme en el registro de windows la ruta al servidor, cuando se ejecuta el programa voy a recogerla y concateno la connectionstring con el resto de parámetros. Entonces abro la conexión. Te puedes montar una pequeña pantalla para configurar el valor que tienes guardado en el registro, por si alguna vez cambia de ubicación la base de datos. Un saludo Edu |
#3
|
|||
|
|||
ok, es decir, editarlo como un fichero de texto cambiando la ruta en el caso de que quisiera cambiarla cierto???
Se me plantean dos preguntas: ¿Como manejan los registros de windows? ¿En lo referente a la conexion a MySQL alguien me puede ayudar? Gracias por todo |
#4
|
||||
|
||||
Buenas!
La idea es la siguiente: Creas un DataModule y le colocas un TADOConnection (que llamaremos conexion) y un TOpenDialog. El código de esta unidad es el siguiente: En la creación del DataModule el programa va a buscar en el registro de Windows la rama HKEY_LOCAL_MACHINE\software\EduP\Pedidos y recoge un valor de cadena que se llama BBDD. En este valor se almacena la ruta y el nombre de la base de datos. Si la clave no existe se lanza el opendialog para que se seleccione la base de datos y guarda el valor. Una vez tiene el valor concatena los textos para la connectionString y abre la conexión a la base de datos. A partir de ahí cualquier TADOTable o TADOQuery necesita acceder al TADOConnection del DataModule y listo. Espero que te sirva Edu |
#5
|
|||
|
|||
Me da un error de lectura.
Yo lo que hago es incluir UDataModule en el formulario principal y desde alli hago: DataMod.DataModuleCreate(self); La linea donde me da el error es esta: Begin if (Reg.OpenKey('\SOFTWARE\Gestorvvs\datos', true)) and (OpenDialog1.Execute) then ... Te pediria un ultimo favor y es que al no saber utilizar los DataModule me gustaria que me pusieses un ejemplo sobre como harias tu una sentencia SQL una vez obtenida la UDataModule.pas. Supongo que una vez hecha esta unidad la puedo utilizar todas las veces que quiera.Muchas gracias por todo y un saludo Última edición por Moises22 fecha: 13-12-2005 a las 15:03:50. |
#6
|
||||
|
||||
Esta unidad va a ser común para todo el proyecto. En cualquier formulario que necesites acceder a la base de datos deberás incluirla en el uses. Después pinchas un TADOQuery en el formulario y miras la ventana de propiedades: Encontrarás una que se llama Connection. Si deslpiegas te va a aparecer la conexión del DataModule. Una vez seleccionada la conexión debes utilizar la propiedad SQL para escribir la sentencia, y desde código asignar los parámetros y abrir este TADOQuery. Mut fácil.
Edu |
|
|
|