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 11-02-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
duda con el articulo paradox en red

leyendo el articulo paradox en red, me dice que debo crear un datamodule, un database y un sesion, ok mi duda es la siguiente, tengo necesidad del datamodule, y los otros dos componentestengo que crearlos en cada una de las ventanas del sistema, yo manejo un procedimiento que es el que utilizo para abrir las tablas, o sea todas las tablas del sistema las abro utilizando este:
Código:
function TobRutinas.AbrirTablas(T: tTable; NT, Indices: String): Boolean;
var
   ErrorCode: DBIResult;
begin
//Abre las Tablas
   if fileexists(cRutaDatos + '\' + NT + '.db') then
   begin
      try
         Result := True;
         T.Exclusive := False;
         if T.Active then
            Exit;
         T.DatabaseName := cRutaDatos;
         T.TableName := NT;
         T.IndexName := Indices;
         T.Active := True;
      except
      on E: EDBEngineError do
      begin
         ErrorCode := E.Errors[0].ErrorCode;
         case ErrorCode of
            DBIERR_SYSFILEOPEN,
            DBIERR_SYSFILEIO,
            DBIERR_SYSCORRUPT,
            DBIERR_NOCONFIGFILE,
            DBIERR_CFGCANNOTWRITE,
            DBIERR_CFGMULTIFILE,
            DBIERR_REENTERED,
            DBIERR_CANTFINDIDAPI,
            DBIERR_CANTLOADIDAPI,
            DBIERR_CANTLOADLIBRARY,
            DBIERR_TEMPFILEERR,
            DBIERR_MULTIPLEIDAPI,
            DBIERR_SHAREDMEMCONFLICT:
               msgError( msErrorSistema + NT );
            DBIERR_LOCKED,
            DBIERR_UNLOCKFAILED,
            DBIERR_FILEBUSY,
            DBIERR_DIRBUSY,
            DBIERR_FILELOCKED,
            DBIERR_DIRLOCKED,
            DBIERR_ALREADYLOCKED,
            DBIERR_NOTLOCKED,
            DBIERR_LOCKTIMEOUT,
            DBIERR_GROUPLOCKED,
            DBIERR_LOSTTBLLOCK,
            DBIERR_LOSTEXCLACCESS,
            DBIERR_NEEDEXCLACCESS,
            DBIERR_RECGROUPCONFLICT,
            DBIERR_DEADLOCK,
            DBIERR_ACTIVETRAN,
            DBIERR_NOACTIVETRAN,
            DBIERR_RECLOCKFAILED,
            DBIERR_OPTRECLOCKFAILED,
            DBIERR_OPTRECLOCKRECDEL,
            DBIERR_ENLISTFAILED,
            DBIERR_NETFILELOCKED,
            DBIERR_NETMULTIPLE:
               msgError( msTablaBloqueada + NT );
            DBIERR_FILECORRUPT:     msgError(msTablaCorrupta + NT);
            DBIERR_INDEXCORRUPT:    msgError(msIndiceCorrupto +NT);
            DBIERR_READERR:         msgError(msErrordeLectura +NT);
            DBIERR_DIRNOACCESS:     msgError(msSinAccesoaDirectorio + NT);
            DBIERR_FILENOACCESS:    msgError(msSinAccesoaArchivo + NT);
            DBIERR_NOMEMORY:        msgError(msSinMemoria + NT);
            DBIERR_OPENTBLLIMIT:    msgError(msMuchasTablasAbiertas + NT);
            DBIERR_NOSHAREDMEMORY:  msgError(msSinMemoriaCompartida + NT);
            DBIERR_INVALIDFILENAME: msgError(msNombreArchivoIncorrecto + NT);
            DBIERR_NOSUCHINDEX:     msgError(msNombreIndiceIncorrecto + NT);
            else                    msgError(msErrorDesconocido + E.Message);
         end;
         Result := False;
      end;
      end;
   end
   else
   begin
      Result := False;
      msgError(msTablanoExiste +  cRutaDatos + '\' + NT);
   end;
end;
alguien sabe como puedo crear el data module en ejecucion y los otro componentes cada vez que se llame a esta funcion???

cualquier sugerencia estaria agradecido
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela

Última edición por eduarcol fecha: 11-02-2004 a las 21:42:51. Razón: Cambie las etiquetas quote por las code
Responder Con Cita
  #2  
Antiguo 11-02-2004
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
En absoluto, lo mejor es que crees un solo DataModule e incluso la función que utilizas la colocas en el mismo DataModule y por ejemplo en el evento OnCreate del mismo ejecutas dicha función.

Puedes tener todos los ttAble creados pero no activos y con esta función los vas abriendo....

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 11-02-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
no hay una solucion menos drastica??? porq son alrededor de 20 pantallas y la que menos tiene son 2 tablas
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 11-02-2004
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
Pues creas el DataModule y colocas el TDatabase y el Tsession y en esos 20 formularios haces un Use del DataModule y conectas los Ttable con el Tsession que tienes en el DataModule.

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
  #5  
Antiguo 11-02-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
ok, lo probare, seria una buena solucion?? o me recomiendas que haga otra cosa???
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 11-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Sigo Este Hilo:

Ya probe lo que me recomendo el amigo Marcos y funciona de las maravillas, pero solo una pequeña duda, si tengo el mudulo abierto en tiempo de diseño puedo acceder a el sin declararlo en el uses, y en compilacion no me da error sera posible que no lo tenga que declarar, y lo otro es que trabajo TQuerys solo para consulta a ellas tambien debo declararles la sesion, asi solo sean para consulta?????
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
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


La franja horaria es GMT +2. Ahora son las 18:14:26.


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