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 25-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
problemas con cargar los registro de una tabla en un TDBgrid

Hola, lo primero agradecer a la gente que hace este foro y los que colaboran en el.
Soy novato en programación y sobre todo en DELPHI, estoy creando un programa asociado a un bases de datos con tres tablas que van unidas entre si por un numero de registro, al inicial el programa aparece una pantalla con un TDBgrid (y varios menus he iconos) en el que aparecen todos los registros de una tabla en concreto, el problema es que no se me cargan los registros.
He creado una ventana con un módulo de bases de datos TDataModule y he creado la tres tablas con correspondientes tdatasource, asocio cada tabla con su tdatasource y con la TDBgrid de la pantalla inicial pero los datos guardados en la tabla no aparecen al ejecutar el programa.
He asociado todas la columnas del tadatasource al TDBgrid y nada.
Necesito vuestro consejo gracias de antemano
Responder Con Cita
  #2  
Antiguo 25-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
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

Con este libro no tendrás ninguna duda en delphi con bases de datos, además es gratis.
Responder Con Cita
  #3  
Antiguo 25-07-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por edufg Ver Mensaje
Hola, lo primero agradecer a la gente que hace este foro y los que colaboran en el.
Soy novato en programación y sobre todo en DELPHI, estoy creando un programa asociado a un bases de datos con tres tablas que van unidas entre si por un numero de registro, al inicial el programa aparece una pantalla con un TDBgrid (y varios menus he iconos) en el que aparecen todos los registros de una tabla en concreto, el problema es que no se me cargan los registros.
He creado una ventana con un módulo de bases de datos TDataModule y he creado la tres tablas con correspondientes tdatasource, asocio cada tabla con su tdatasource y con la TDBgrid de la pantalla inicial pero los datos guardados en la tabla no aparecen al ejecutar el programa.
He asociado todas la columnas del tadatasource al TDBgrid y nada.
Necesito vuestro consejo gracias de antemano
solo por curiosidad, las tablas las abres?
en tiempo de diseño? en ejecucion?
coloca el codigo
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 26-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
Creo que ahí esta el problema ya que las tablas las guardo en la carpeta del proyecto, desconozco como cargarlas.
las tengo que cargar desde el programa principal o desde el modulo de base de datos.
He probado creando el alias en el proyecto y no se cargan las tablas.
Responder Con Cita
  #5  
Antiguo 26-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
¿Qué base de datos usas, paradox?

¿Cómo esperas ver lo datos si no has configurado la conexión?

¿Qué tipo de conexión con base de datos usas?
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #6  
Antiguo 26-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
Hola ozsWizzard, gracias por tu interés.

La base de datos es dbase IV.
la conexión es dentro de object inspector de la tabla en elapartado databasename tiene el nombre del Alias, en tablename el nombre de las tabla creada y en tablatype la opcion ttbase.
la tabla la he creado con dbd32.exe
Responder Con Cita
  #7  
Antiguo 26-07-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por edufg Ver Mensaje
Hola ozsWizzard, gracias por tu interés.

La base de datos es dbase IV.
la conexión es dentro de object inspector de la tabla en elapartado databasename tiene el nombre del Alias, en tablename el nombre de las tabla creada y en tablatype la opcion ttbase.
la tabla la he creado con dbd32.exe
coloca codigo de como lo estas haciendo
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #8  
Antiguo 28-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
¿Estás usando TTable con BDE??

El databasename debe ser el nombre del componente TDatabase, que es el que tiene el aliasName de la base de datos del BDE.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #9  
Antiguo 29-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
hola chicos gracias por ayudarme, el problema creo que está en que el data module aparece como no declarado, al llamar al data module me da ese error "undeclared identifier".
También he visto otro problema en el dataset que no estaba activo , ahora veo TBGRID los datos pero al ejecutar el programa no aparecen.
Responder Con Cita
  #10  
Antiguo 29-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Con este libro no tendrás ninguna duda en delphi con bases de datos, además es gratis.
Y no somos adivinos, pon el código
Responder Con Cita
  #11  
Antiguo 29-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
Perdonar por lo del código:
Código Delphi [-]
rogram Project1_diligencias;

uses
  Vcl.Forms,
  Windows,
  Dialogs,
  Unit1_diligencias in 'Unit1_diligencias.pas' {Ventana},
  Unit_diligencias in 'Unit_diligencias.pas' {Ventana_diligencias},
  DB in 'DB.pas' {B: TDataModule},
  Unit_filiaciones in 'Unit_filiaciones.pas' {Ventana_Filiaciones},
  Unit_datos in 'Unit_datos.pas' {Ventana_Datos},
  Unit_ayuda in 'Unit_ayuda.pas' {ventana_ayuda};

{$R *.res}

begin
  Application.Title := 'Diligencias 1.0';
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TVentana, Ventana);
  Application.CreateForm(TB, B); {aqui me da el problema del udeclared indentifier}
  Application.Run;
end.
Responder Con Cita
  #12  
Antiguo 29-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
el codigo del data module:
Código Delphi [-]
  private
    { Private declarations }
    function abrir(var tabla:TTable):boolean;
  public
    { Public declarations }
  end;

var
  B: TB;

implementation
uses Unit1_diligencias;
{%CLASSGROUP 'Vcl.Controls.TControl'}

{$R *.dfm}

procedure TB.DataModuleCreate(Sender: TObject);
begin

     Diligen.DataBaseName:= Ventana.path_aplicacion;
     Filiaciones.DataBaseName:=Diligen.DataBaseName;
     solicitarDatos.DataBaseName:=Diligen.DataBaseName;
     if (not abrir(Diligen)) or (not abrir(Filiaciones)) or (not abrir(solicitarDatos))  then Halt;


end;

function TB.abrir(var tabla:TTable):boolean;
begin
     try     // Se intenta activar la tabla.
        Diligen.active:=True;
     except  {Si no se ha podido, no se produce ningún error, sino
              que el flujo del programa salta a esta cláusula y
              se muestra un mensaje.}
        Messagedlg('No se puede abrir la base de datos: '
                                +tabla.tablename, mtError, [mbOK], 0);
     end;
    // abrir devuelve True si la tabla se ha podido abrir y False si no.
     abrir := (Diligen.active);

end;
end.
Responder Con Cita
  #13  
Antiguo 29-07-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
Creo que tienes un lío que pa qué.

Aún no nos has dicho con que componentes quieres conectar a base de datos (y si lo has dicho, perdona, pero no lo he visto).

Viendo el lío que tienes y que encima los componentes, por lo que parece, intentas crearlos en tiempo de ejecución (porque están en la unidad "Unit1_diligencias", no?) aunque no veo donde se crean porque cuando va al create del DataModule no se ha ejecutado nada que tenga que ver con eso (que supongo que estará en el create del formulario TVentana).

Pero lo dicho, no sé ni como quieres hacer las cosas.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #14  
Antiguo 29-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
Hola de nuevo.
Perdonar mi ignorancia, el ser novato en esto es lo que tiene.
Lo primero, se trata de un trabajo final para un curso que estoy realizando de DELPHI, estoy utilizando DELPHI XE2.
Para el trabajo he creado con DATABASE DES
Responder Con Cita
  #15  
Antiguo 29-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
Hola de nuevo.
Perdonar mi ignorancia, el ser novato en esto es lo que tiene.
Lo primero, se trata de un trabajo final para un curso que estoy realizando de DELPHI, estoy utilizando DELPHI XE2.
Para el trabajo he creado con DATABASE DESkTOP tres tablas dbaseVI y las he guardado en la carpeta del proyecto, es de señalar que me descargado el programa DATABASE DESkTOP y desde ahi las he creado y he introducido datos de ejemplo para probarlo.
He iniciado delphi y he creado una venta principal con TMAINMENU y TTOOBAR con varios iconos y un TPAGECONTRON con tres hojas donde se encuentran en cada una en TBDGRID donde apareceran los datos de registro de las tablas.
También he creado tres ventanas hijas donde se introducen y modifican los datos de las tablas, dentro de ellas se encuentran los DBEDIT, DBMEMO., etc..., y varios botones aceptar y cerrar.
Para controlar mejor las datos de las tablas he creado un DATA MODULO donde se encuentran los tres TTABLE con sus respectivos TDATASOURCE, cada tablas asociada a su datasource.
Desconozco como puedo hacer que la tabla sea leída desde la carpeta donde guardo el ejecutable.
Lo que he hecho es crear un alias dentro de la carpeta del proyecto y configuro los databasename de las tablas con el alias, el TABLENAME con el nombre de la tabla creada por mi y el TABLETYPE con ttdbase.
Una vez configurado el DATA MODULE me voy a los DBGRID de la ventana Principal y los asocio a las TDATASOURCE pero no me aparecen los datos.
La pregunta de momento es ¿Cómo cargo los datos de las tablas, desde el ejecutable, al iniciar el programa?.
Responder Con Cita
  #16  
Antiguo 29-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, una vez más te recomiendo este libro. Si quieres aprender todo sobre delphi y bases de datos, ese es tu libro.
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Con este libro no tendrás ninguna duda en delphi con bases de datos, además es gratis.
Responder Con Cita
  #17  
Antiguo 30-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
Gracias, en eso estoy
Responder Con Cita
  #18  
Antiguo 31-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
Hola he encontrado el problema y es que el data module se cargaba al iniciar el programa, y al llamara a las datasource no los detectaba.
Ahora me ha surgido un nuevo problema en el TOOL PALETTE del date module no aparecen las BDE.
Responder Con Cita
  #19  
Antiguo 31-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
predonar pero quise decir que el data module NO se cargaba al iniciar el programa.
Responder Con Cita
  #20  
Antiguo 31-07-2013
edufg edufg is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 16
Poder: 0
edufg Va por buen camino
-- Perdonar chicos, pero he resuelto el problema al ejecutar el programa ya me detecta los registros en el tBGRID, el problema estaba que el data module no se cargaba desde el principio, he tenido que eliminar el que había creado y crear uno nuevo, instalar los componentes TTABLA, TDATASOURCE y enlazarlos, para que se cargara desde el principio en la ventana principal me voy al meno PROJECT/VIEW SOURCE y he modificado el data module y lo he puesto por encima de la ventana principal
Código Delphi [-]
program Project1_diligencias;

uses
  Vcl.Forms,
  Windows,
  Dialogs,
  Unit1_diligencias in 'Unit1_diligencias.pas' {Ventana},
  Unit_diligencias in 'Unit_diligencias.pas' {Ventana_diligencias},
  Unit_filiaciones in 'Unit_filiaciones.pas' {Ventana_Filiaciones},
  Unit_datos in 'Unit_datos.pas' {Ventana_Datos},
  Unit_ayuda in 'Unit_ayuda.pas' {ventana_ayuda},
  bd in 'bd.pas' {B: TDataModule};

{$R *.res}

begin
  Application.Title := 'Diligencias 1.0';
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TB, B); 
  {lo que he cambiado es esto TB, que al crear el data module aparecía por debajo de TVentana, consiguiendo así que se inicie desde el principio }
  Application.CreateForm(TVentana, Ventana);
  Application.Run;
end.
Bueno continuo con mi proyecto espero no tener problemas nuevamente.
De todas formas gracias por vuestra ayuda y atención.
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 en el pintado de un Tdbgrid joancmb Varios 5 20-03-2013 13:14:05
cargar registro en un tdbgrid negrokau Varios 2 19-05-2011 17:06:23
Problemas para sumar en TDBGrid whatson Varios 1 18-12-2007 17:34:08
problemas con TDBGRID lazarous Varios 1 10-11-2005 16:01:44
Problemas con TDBGrid Novás Varios 0 30-01-2004 10:32:20


La franja horaria es GMT +2. Ahora son las 19:10:30.


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