![]() |
In eigener Unit Datenbank öffnen-wieso sehe ich keine Date
Liebe Delphifreunde,
habe ein Projekt mit ca. 20 Datenbanken, in denen jeweils mehrere Tabellen sind. Zwecks Übersichtlichkeit möchte ich auf einer eigenen Form (Unit) die Datenbank-Komponenten unterbringen und dann im Hauptprogramm verwenden Es klappt soweit, aber ich sehe bei der Datenfeldanzeige leider keine Werte. Öffne ich in der IDE die Komponente, dann sehe ich sofort die Daten. Wo könnte da der Fehler liegen? Wäre für jeden Hinweis sehr dankbar. ciao LingNeu
Delphi-Quellcode:
unit haupt;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, usw...; type TFRM10 = class(TForm) private public end; var FRM10: TFRM10; implementation uses daten ; //datenbankkomponenten {$R *.dfm} procedure TFRM10.FormCreate(Sender: TObject); begin // es werden nur leere Felder angezeigt - allerdings auch KEINE Fehlermeldung ! // für die Feld-Eigenschaft geschieht aufruf z.B. über a.DS_objects und a.TB_objects['name'] einwandfrei auswählbar - aber keine anzeige beim ausführen // öffne ich die Datenbanken in der IDE direkt, dann sehe ich die Feldinhalte !!! end;
Delphi-Quellcode:
unit daten;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, TdbDataSet, TdbLicense ; //TdbDataSet = Turbodatenbank //TdbLicense = Lizenz dafür type TA = class(TForm) DB_objects: TTdbDatabase; TB_objects: TTdbTable; DS_objects: TDataSource; procedure FormCreate(Sender: TObject); private public end; var A: TA; implementation {$R *.dfm} procedure TA.FormCreate(Sender: TObject); begin DB_objects.Connected := true; //Datenbank öffnen TB_objects.Active; //Tabelle Objekte aktivieren TB_objects.Open ; //Tabelle Objekte öffnen end; end. |
Re: In eigener Unit Datenbank öffnen-wieso sehe ich keine Da
Um Datenbank-Komponenten in einer Unit zusammen zufassen, benutze ich das Datenbank-Modul. Ich tippe mal, dass irgendwo eine Verknüpfung zur Data-Source noch nicht vorhanden ist.
|
Re: In eigener Unit Datenbank öffnen-wieso sehe ich keine Da
hallo RWarnecke,
danke für den Hinweis. Leider kann ich die TurboDB dort nicht einbinden. Es sind alle möglichen Typen vorhanden (Access, BDE, usw) aber nicht die von mir verwendete. ciao LingNeu |
Re: In eigener Unit Datenbank öffnen-wieso sehe ich keine Da
Fehlt da nicht A:=TA.Create(self) irgendwo???
|
Re: In eigener Unit Datenbank öffnen-wieso sehe ich keine Da
hallo sven_32,
habe folgende Sachen gemacht - bekomme dann aber die fehlermeldung: "duplicate database name db_objects " was tun, sprach Zeus? Gibt es den gar nichts Anderes, wo man seine Komponenten auf einer eigenen Form zwecks Ordnung plazieren kann und dann auf diese Teile vom Hauptprogramm aus zugreifen kann. Habe mit Proceduren komischerweise Null-Probleme nur mit non-visuellen Komponenten Habe mal die Delphisache Datenmodul probiert - da wird auch nichts anderes gemacht, als eine Unit mit den DB-Komponenten. Aber der Zugriff funktioniert dort auch nicht. ciao LingNeu
Delphi-Quellcode:
unit haupt;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, usw...; type TFRM10 = class(TForm) private public end; var FRM10: TFRM10; implementation uses daten ; //datenbankkomponenten {$R *.dfm} procedure TFRM10.FormCreate(Sender: TObject); var A:TForm; //NEU NEU begin A:=TA.CREATE(self); //NEU NEU // es werden nur leere Felder angezeigt - allerdings auch KEINE Fehlermeldung ! // für die Feld-Eigenschaft geschieht aufruf z.B. über a.DS_objects und a.TB_objects['name'] einwandfrei auswählbar - aber keine anzeige beim ausführen // öffne ich die Datenbanken in der IDE direkt, dann sehe ich die Feldinhalte !!! end;
Delphi-Quellcode:
unit daten;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, TdbDataSet, TdbLicense ; //TdbDataSet = Turbodatenbank //TdbLicense = Lizenz dafür type TA = class(TForm) DB_objects: TTdbDatabase; TB_objects: TTdbTable; DS_objects: TDataSource; procedure FormCreate(Sender: TObject); private public end; var A: TA; implementation {$R *.dfm} procedure TA.FormCreate(Sender: TObject); begin DB_objects.Connected := true; //Datenbank öffnen TB_objects.Active; //Tabelle Objekte aktivieren TB_objects.Open ; //Tabelle Objekte öffnen end; end. |
Re: In eigener Unit Datenbank öffnen-wieso sehe ich keine Da
Schau mal unter Projekt / Optionen /TAB Formulare
Ist Dein TA in der Liste automatisch erzeugen??? Muss dort raus... Sven |
Re: In eigener Unit Datenbank öffnen-wieso sehe ich keine Da
hi sven_32
ich habe mein Problem dadurch gelöst, das ich ein DataModul gemacht habe - und was soll ich sagen - es funktioniert wirklich einwandfrei. Ich kann auf alle Komponenten von der Hauptform aus zugreifen. Gruß LingNeu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz