Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-06-2012
nmenna10 nmenna10 is offline
Miembro
NULL
 
Registrado: jun 2012
Posts: 19
Poder: 0
nmenna10 Va por buen camino
ADOConnection con tabla acces.mdb

Hola, buenas tardes, este es mi prmer post. Mi nombre en Nicolas, soy de Argentina y tengo 21 años, estoy estudiando Analista Programador y mi consulta es:


Estoy haciendo un programa con una base de datos acces.mdb para practicar, hasta ahi va bien, pero mi problema es que cuando creo el instalador con el "inno setup" y al programa lo instalo en otra PC para ver si anda, me sale un cartel que dice algo asi como que no se puede encontrar la tabla o la ruta de la base no es la correcta...


El programita ya estaria hecho y anda, pero solo en mi PC, por que cuando lo instalo en otra no encuentra la base.


Quisiera consultar si no me podrian dar una manito con algun codigo como para que el programa encuentre la base.


Muchas graciasss.
Responder Con Cita
  #2  
Antiguo 20-06-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Debes dar más información, más clara, el mensaje exacto del error, etc.
Responder Con Cita
  #3  
Antiguo 20-06-2012
Northern Northern is offline
Miembro
 
Registrado: ene 2006
Posts: 211
Poder: 19
Northern Va por buen camino
Yo lo que hago es capturar la cadena que se crea en ADOConnectionString quitarle la ruta de la BD y pasarla a una variable. Después leo la ruta del ejecutable y donde está la *.MDB, normalmente en una subcarpeta dentro de la carpeta del ejecutable. Asocio esa ruta al ConnectionString y yastá (suponiendo que el PC donde instalas la aplicación tenga el MDAC).
Responder Con Cita
  #4  
Antiguo 20-06-2012
nmenna10 nmenna10 is offline
Miembro
NULL
 
Registrado: jun 2012
Posts: 19
Poder: 0
nmenna10 Va por buen camino
Hola muchas gracias por tu respuesta, seria mucha molestia que me des una manito con el codigo??? por que no me doy cuenta como hacerlo.

pero si no te incomodo con otra cosa..


Desde ya muchas gracias.
Responder Con Cita
  #5  
Antiguo 20-06-2012
Northern Northern is offline
Miembro
 
Registrado: ene 2006
Posts: 211
Poder: 19
Northern Va por buen camino
Post

Cita:
Empezado por nmenna10 Ver Mensaje
Hola muchas gracias por tu respuesta, seria mucha molestia que me des una manito con el codigo??? por que no me doy cuenta como hacerlo.

pero si no te incomodo con otra cosa..


Desde ya muchas gracias.

No tiene mayor misterio:

1. En el DataModule (supongo que usas un DataModule) pongo después de implementation:

Código Delphi [-]
const
  AdoConn: WideString =
    'Provider=Microsoft.Jet.OLEDB.4.0;'+
    'Password="";'+
    'User ID=Admin;'+
    'Mode=Share Deny None;'+
    'Extended Properties="";'+
    'Locale Identifier=1034;'+
    'Jet OLEDB:System database="";'+
    'Jet OLEDB:Registry Path="";'+
    'Jet OLEDBatabase Password="";'+
    'Jet OLEDB:Engine Type=5;'+
    'Jet OLEDBatabase Locking Mode=1;'+
    'Jet OLEDB:Global Partial Bulk Ops=2;'+
    'Jet OLEDB:Global Bulk Transactions=1;'+
    'Jet OLEDB:New Database Password="";'+
    'Jet OLEDB:Create System Database=False;'+
    'Jet OLEDB:Encrypt Database=False;'+
    'Jet OLEDBon''t Copy Locale on Compact=False;'+
    'Jet OLEDB:Compact Without Replica Repair=False;'+
    'Jet OLEDB:SFP=False';


var
  TheBaseDatos: WideString;


2. En un procedure, o function, cualquiera que llames para establecer la conexión y abrir las tablas:


Código Delphi [-]
procedure TDM1.AbrirTablas;
begin
  ADOConnection1.Connected := False;
  ADOConnection1.ConnectionString := '';
  TheBaseDatos := ';Data Source='+WideString(AppPath+'\Data\MyAccessBD.mdb');
  ADOConnection1.ConnectionString := ADOConn+TheBaseDatos;
  ADOConnection1.Connected := True;

  adoTable1.Active := True;
  ....


end;

AppPath es es la ruta de tu aplicación que puedes obtener de diferentes maneras.


Como ves uso Jet, pero puedes usar otro motor. El asunto está en capturar la cadena de texto del ADOConnection, esa que está en la propiedad ConnectionString cuando Connection es True.


------------
Donde sale tiene que salir ": D" todo junto
Responder Con Cita
  #6  
Antiguo 20-06-2012
nmenna10 nmenna10 is offline
Miembro
NULL
 
Registrado: jun 2012
Posts: 19
Poder: 0
nmenna10 Va por buen camino
Muchas pero muchas Gracias!!! ahora a probarloo graciassss.
Responder Con Cita
  #7  
Antiguo 21-06-2012
nmenna10 nmenna10 is offline
Miembro
NULL
 
Registrado: jun 2012
Posts: 19
Poder: 0
nmenna10 Va por buen camino
Bueno queria avisarles que me andubo a la perfeccion la explicacion y codigo que me enseñaste, muchisimas gracias por ayudarme, nos vemos suerte y saludoss.
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
Problemas con tabla Acces silviodp Tablas planas 8 25-08-2007 00:14:48
Filtro en tabla Acces en C++ Builder JuanErasmo Tablas planas 1 22-11-2006 16:18:51
Borra registros duplicados en tabla ACCES manu Conexión con bases de datos 2 24-05-2005 22:15:39
Problema con una tabla de acces manu Conexión con bases de datos 2 13-04-2005 19:45:56
Copiar una tabla en Acces agonzalez Conexión con bases de datos 1 30-08-2003 01:48:58


La franja horaria es GMT +2. Ahora son las 23:27:25.


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