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 10-05-2007
ernestogiss ernestogiss is offline
Registrado
 
Registrado: may 2007
Posts: 5
Poder: 0
ernestogiss Va por buen camino
Unhappy delphi no compila la base de datos

Hola a todos. Recién me he iniciado en la programación y tengo algunos manuales de delphi que he tratado de seguir. Sin embargo, para iniciar en el uso de base de datos he creado una pequeña base de datos paradox en delphi llamada "alumnos". En la aplicación he colocado un componente Table (DBTables), un componente DataSorce (DB) y un componente DBGRID. Bueno, el caso es que he modificado las propiedades de cada uno de ellos y la aplicación corre perfectamente, pues puedo acceder a la base de datos, e insertar nuevos datos de alumnos. El problema ocurre cuando compilo la aplicación en un ejecutable, pues al llevarla a otra computadora me marca un error diciendo que la base de datos no existe (y me marca el directorio en donde debería de estar) La solución que he encontrado es crear ese directorio y vaciar ahí la base de datos. Y entonces corre sin problema. Existe alguna forma de que delphi compile la base de datos desde un principio? Cualquier orientación me ayudará a conservar la poca cordura que aún me queda, pues esto de la programacíon es un verdadero rollo. GRACIAS
Responder Con Cita
  #2  
Antiguo 10-05-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El problema es que tienes que instalar el BDE y si utilizas Alias para acceder a la base de datos crearlo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 10-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por la descripción del problema, parece que sí está instalado el BDE en la otra PC, pero el hecho de que te marque el directorio donde debería estar la base, me hace pensar que has codificado la ruta del directorio directamente en el ejecutable, en lugarde utilizar un alias.

Tal como menciona Marcos, lo más adecuado es que establezcas un alias, lo cual puedes hacer con el bdeadmin que estará en el panel de control en caso de haber instalado correctamente el BDE. En caso de que no lo sepas, un alias es algo así como un acceso directo que apunta al directorio real. Tu aplicación usa el alias en lugar del destino, lo que permite que puedas colocar la base en el directorio que más convenga en cada pc, sin depender de uno en específico.

// Saludos
Responder Con Cita
  #4  
Antiguo 10-05-2007
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
Cita:
Empezado por ernestogiss
... esto de la programacíon es un verdadero rollo. GRACIAS
yo opino que es algo fascinante
Responder Con Cita
  #5  
Antiguo 11-05-2007
ernestogiss ernestogiss is offline
Registrado
 
Registrado: may 2007
Posts: 5
Poder: 0
ernestogiss Va por buen camino
Gracias a Marcos y Román por su ayuda. Ya di de alta el alias y efectivamente parece que ahora si todo funciona a la perfección.
A Casimiro lo unico que le puedo decir es QUE TIENES TODA LA RAZON, Pero a veces suelo desesperarme por que las cosas no funcionan como uno espera, Pero tengo un maestro que dice QUE ENTRE MAS PROBLEMAS TENGAS CON UN PROGRAMA, MAS APRENDES DE EL.
Responder Con Cita
  #6  
Antiguo 12-05-2007
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Poder: 19
casacham Va por buen camino
Cool Una opcion ANTI Alias

Hola, si no quieres utilizar un Alias, y como veras mas adelante cuando quieras distribuir tu aplicacion con InstallShield, veras que el directorio para instalar los archivos que conforman tu base de datos suele estar dentro del que instalas tu aplicacion sugerido por el mismo InstallShield. El punto es que si no quieres utilizar un alias, lo que te propongo es lo siguiente:
1) Crea un directorio dentro del cual estas desarrollando tu aplicacion y copi alli las tablas de tu base de datos si es que usas pradox o el archivo de Acces para ADO.
2) En el objeto TDataBase hace doble click en el evento BeforeConect y alli escribi para los parametros de coneccion una linea que indique la ruta de esta manera

ExtractDirectory(Application.Name)+'\BaseDato';

donde BaseDato es el directorio que creaste para alojar los archivos de tus base de datos. Bueno, espero que me hayas entendido.
Adios
Responder Con Cita
  #7  
Antiguo 12-05-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El inconveniente de esta última propuesta es que si se trabaja en red se obtendrán no pocas corrupciones de índices ya que se aconseja separar el ejecutable de los datos por ejemplo.

C:\Alfa
C:\Alfa\Progs {Aquí estaría el/los ejecutables}
C:\Alfa\Datos{Aquí las tablas}
C:\Alfa\Net{Aquí PdoxUsrs.Net}
C:\Alfa\Temp


Por otra parte se puede incluir en el ejecutable una función que se encargue de crear el alias sino existiera:
Código Delphi [-]
Function Crear_Alias(NombreAlias:String;Nombredir:String):Boolean;
begin
If not session.IsAlias(NombreAlias) Then
   Begin
   Try
      Session.AddStandardAlias(NombreAlias,Nombredir,'PARADOX');
      Session.SaveConfigFile;
      Result:=True;
   except
      Application.MessageBox('Error Creando el alias','Atención',MB_OK);
      Exit;
      Result:=False
      End;
   end
   else
   begin
   Application.MessageBox('El alias ya existe.','Atención',MB_OK);
   Result:=False;
   end;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 12-05-2007
ernestogiss ernestogiss is offline
Registrado
 
Registrado: may 2007
Posts: 5
Poder: 0
ernestogiss Va por buen camino
Smile installshield

Si es cierto, el installShield me da par default (INSTALLDIR) para colocar las bases de datos. Pero yo elegí : (CommonFiles)\Borland Shared\Data. Que es la ruta original donde estan las bases de datos. De ese modo cuando se hace la instalación en otra maquina las bases de datos quedan en su lugar. ¿Estuve bien? Les recuerdo que recien inicio en este campo de la programación.
Gracias por sus respuestas y su interes, voy a intentar las dos propuestas que ma dan.
Un saludo
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
Delphi 7 Me compila todos los componentes a cada momento menavas Varios 1 18-04-2007 19:28:27
Uso de base de datos (Acces) con Delphi. alfredosg19 Varios 3 10-03-2005 07:22:37
Mi programa de base de datos sin Delphi soul6301 Varios 10 21-08-2004 21:02:27
buffer+base de datos+delphi jorgito MySQL 1 08-03-2004 14:06:14


La franja horaria es GMT +2. Ahora son las 13:16:43.


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