.dbf Datei in Dbgrid laden mit allen Tabellen u. Attributen
-
azad187 schrieb:
ich habe bisher noch nichts mit connection gemacht die liegt local mit im verzeichnis dache die findet er dann gleich :)...
Setz das Kunden.dbf mal in einfache Anführungszeichen. (Mit dBase hab ich noch nix gemacht, also kenne ich hier die Fallstricke nicht)
-
Nun habe ich es in Anführungsstriche gestetzt und nun kommt ganz Wirres kram raus.
Zu wenig Arbeitsspeicher für diese Operation.
Alias: dBASE-Datein
-
Starte den Rechner bitte mal neu.
-
nee daran liegt es nicht... weiss denn keiner wie man eine dbf datei in einen DBGrid anzeigen lässt

-
Ein TQuery, ein TDataSource und ein TDBGrid. In DataSource unter DataSet die Query auswählen. Im DBGrid unter Datasource die DataSource auswählen.
Im Query unter SQL den SELECT eintragen:
SELECT * FROM "Kunden.dbf"Trag das bitte mal so zur Entwurfszeit ein. Anschließend machst Du einen Doppelklick auf die TQuery und in dem sich öffnenden Feldediter einen Rechtsklick und 'Alle Felder hinzufügen' auswählen.
Wenn das nicht funktioniert, wird die Tabelle nicht gefunden, ist beschädigt, oder es fehlen Dateien.
-
azad187 schrieb:
ich habe bisher noch nichts mit connection gemacht die liegt local mit im verzeichnis dache die findet er dann gleich :)...
Du meinst die Datenbankdatei oder? Falls ja, dann hast Du ein grundsätzliches Verständigungsproblem. Die Connection ist die Verbindung zu einer Datenbank. Das hat nur mittelbar mit der DB-Datei zu tun.
Dein Query kann niemals funktionieren. Du fragst immer Tabellen,Views etc. (logische Strukturen inner halb einer DB) ab!
Select * from <<Datei>> ist einen Verweis an Grundlagen Datenbanken als die Hilfe zu Objekt TQuery wert, und zwar in der Reihenfolge.
-
@caspar_louis: Das ist schon richtig, aber bei Paradox und dBase funktioniert das tatsächlich ohne eine Verbindung anzugeben, wenn die Dateien im Verzeichnis der EXE liegen (diese Vorgehensweise ist trotzdem nicht zu empfehlen, da stimme ich dir zu).
-
Vielen Dank Joe_M
es klappt soweit.. ich war auch blöde hatte nebenbei auch die Datenbank in MS Access offen zum rumbasteln.. deswegen hat er sie auch nie geöfnet

-
Jetzt müsste sie nur noch im DBgrid erscheinen

wie geht denn das nun `?
-
Ich habe jetzt anhand von Columns schonmal jedes Feld eingefügt allerdings seh ich nur die überschriften die Datensätze selber hat er noch nicht drinne wieso ???
-
ich kann auch leider nicht im Tquery die Attribute holen da das grau untermalt ist
-
Ich weiß nicht, was Du mir sagen willst...

Wenn Du so vorgegangen bist, wie ich es beschrieben habe, brauchst Du nur noch, an einer geeigneten Stelle, die Query zu öffnen.
Dafür schreibst Du z.B. im Konstruktor:
Query1->Open();Und im Destruktor:
if (Query1->Active) Query1->Close();
-
Joe_M. schrieb:
@caspar_louis: Das ist schon richtig, aber bei Paradox und dBase funktioniert das tatsächlich ohne eine Verbindung anzugeben, wenn die Dateien im Verzeichnis der EXE liegen ...
Wieder was gelernt.
dBase habe ich das letzte mal 1993 programmiert, noch für DOS'e.
Paradox habe ich mir nie angetan.
-
Also ganz langsam

im TDataSource steht : DataSet = Query1
im TQuery : DataBaseName = dBASE-Dateien
DataSource = DataSource1im DBGrigd : DataSource = DataSource1
Unter der TQuery->Query1 (sprich wo ich doppelklick gemacht habe konnte ich alle Tabellen einfügen, das at geklappt nun wollte ich rechtsklick machen und die Attribute für die Tabellen holen, das ist grau unterlegt und geht nicht...
Weiter biem DBGrid da habe ich nun unter Columns alle Tabellen eingefügt, somit erhielt ich schonmal alle Spaltenüberschriften.. aber die Attribute fehler weiterhin..
Im DBGrid wird so nix angezeigt... spriche nur Tabellenüberschriften und Attribute..
Ich möchte natürlich aber auch die Attribute HELP ! :p
-
ich meinte natürlich nur Tabellenüberschriften OHNE Attribute
-
azad187 schrieb:
Unter der TQuery->Query1 (sprich wo ich doppelklick gemacht habe konnte ich alle Tabellen einfügen, das at geklappt nun wollte ich rechtsklick machen und die Attribute für die Tabellen holen, das ist grau unterlegt und geht nicht...
Was erwartest Du an dieser Stelle? Hast Du ein Data-Dictionary erzeugt? Ohne geht es nicht. Was stellst Du dir unter diesen Attributen vor?
azad187 schrieb:
Weiter biem DBGrid da habe ich nun unter Columns alle Tabellen eingefügt, somit erhielt ich schonmal alle Spaltenüberschriften.. aber die Attribute fehler weiterhin..
Welche Tabellen? Eigentlich kannst Du an dieser Stelle nur Felder aus der/den Tabelle(n) aus dem Select einfügen. Wenn nur die Feldnamen angezeigt werden und sonst nichts, wird die Datenmenge wohl leer sein?!?
azad187 schrieb:
Im DBGrid wird so nix angezeigt... spriche nur Tabellenüberschriften ohne Attribute..
Ich möchte natürlich aber auch die Attribute.siehe oben
-
Was erwartest Du an dieser Stelle? Hast Du ein Data-Dictionary erzeugt? Ohne geht es nicht. Was stellst Du dir unter diesen Attributen vor?
Nein ich habe kein Data Dictionary, aber wenn man rechtsklick auf die Tabelle macht kann man Attribute holen dies ist aber grau unterlgt... Was stellt man sich wohl unter Attribute vor.... Alle Daten die z.b Kundenname angehören...
azad187 schrieb:
Weiter biem DBGrid da habe ich nun unter Columns alle Tabellen eingefügt, somit erhielt ich schonmal alle Spaltenüberschriften.. aber die Attribute fehler weiterhin..Welche Tabellen? Eigentlich kannst Du an dieser Stelle nur Felder aus der/den Tabelle(n) aus dem Select einfügen. Wenn nur die Feldnamen angezeigt werden und sonst nichts, wird die Datenmenge wohl leer sein?!?
Er soll doch einfach nur im Dbgrid die ganzen Daten ausspucken das wird doch nicht zuviel verlang sein Access macht das doch auch und jede andere Datenbank wenn ich alles Select habe was in der Kunden.dbf enthalten ist soll er mich auch alles anzeigen :D.. Die Datenmengen sind ganz sicher nicht leer!
-
Schau doch bitte mal in der BCB Hilfe unter Feldattribute.
Du meinst wohl die Werte. Die sind im Feldeditor nicht einsehbar. Im DBGrid brauchst Du nichts einzutragen. Die Feldnamen werden direkt aus der Tabelle gelesen.
azad187 schrieb:
Er soll doch einfach nur im Dbgrid die ganzen Daten ausspucken das wird doch nicht zuviel verlang sein Access macht das doch auch und jede andere Datenbank wenn ich alles Select habe was in der Kunden.dbf enthalten ist soll er mich auch alles anzeigen :D.. Die Datenmengen sind ganz sicher nicht leer!
Genau das passiert, wenn Du das machst, was ich gepostet habe. Du mußt nichts anderes machen! Keine Spalterüberschriften im DBGrid eingeben - nichts weiter. Nur die drei Komponenten auf das Form legen, den Select unter SQL eintragen, die Query öffnen und natürlich auch das Programm starten...
-
Also ich weiss ja schonmal das er auf Die Datenbank zugriff hat aber wie gesagt wenn ich das exakt so mache wie du es sagst und dann einfach nen button reinklatsche der sagt Query1->Open(); kommt wieder der Speriauslastungsfehler
-
Speriauslastungsfehler = Speicherauslastungsfehler
