![]() |
Datenbank: dBase • Zugriff über: Topaz
dBase-Datenbanken mit Topaz-Erweiterung
Hallo Allerseits,
hat jemand hier im Forum Erfahrung mit der Erweiterung "Topaz" für das Arbeiten mit Delphi und dBase-Datenbankdateien? Wenn ja, hätte ich da ein paar Fragen. Ich verwende Delphi 5 und Topaz 5. |
Re: dBase-Datenbanken mit Topaz-Erweiterung
Ein Thread reicht ;)
|
Re: dBase-Datenbanken mit Topaz-Erweiterung
Ist korrigiert. Ich nehme diese beiden Beiträge später dann auch weg, weil sich da ja erledigt hat. ;-)
|
Re: dBase-Datenbanken mit Topaz-Erweiterung
Hallo,
Zitat:
was sich nicht durch die Dokumentation und die Bsp-e lösen läßt ? Heiko |
Re: dBase-Datenbanken mit Topaz-Erweiterung
Zitat:
ich möchte einen vorhandenen Quellcode dynamisieren. Bisher ist das Ganze statisch aufgebaut. Also fest über die Komponenten, Objektinspektor etc. im Quellcode verankert. Ich möchte das Ganze aber vollständig über eine ini-Datei steuern. In dieser ini-Datei stehen dann z.B. Datenbankname, die Spaltenüberschriften usw. Der Ablauf ist dann in etwa so: 1.) ini-Datei einlesen, 2.) Gibt es schon eine dBase-Datenbank mit den Feldern aus der ini-Datei? 2.1) Nein: Datenbank erzeugen, 2.2) Ja: Vorhandene Datenbank einlesen, 3.) Eingelsene Daten verarbeiten. Punkt 1-3 habe ich schon erledeigt. Das Erzeugen einer Datenbank ist auf der Topaz-Seite ganz gut beschrieben und funktioniert: ![]()
Delphi-Quellcode:
Probleme bereiten mir die Punkte 2.2) und 3.)
procedure TForm1.Button1Click(Sender: TObject);
VAR dbf: TTzDbf; begin dbf := TTzDbf.Create(Application); { create an instance of TTzDbf } try dbf.DbfFields.Clear; { clear the list of fields } dbf.DbfFields.Add('name,C,30,0'); { add desired fields } dbf.DbfFields.Add('age,N,3,0'); dbf.DbfFields.Add('amount,N,10,2'); dbf.DbfFilename := 'c:\junk.dbf'; {specify the database name} dbf.Active := TRUE; { set active to true } dbf.Active := FALSE; { we are done creating the database } finally dbf.Free; { do not forget to free the instance } end; end; Hier würde mir etwas Beispiel-Code weiterhelfen. Ich habe dazu im Netz keine Beispiele gefunden. |
Re: dBase-Datenbanken mit Topaz-Erweiterung
Hallo,
du wirfst DataBase und Tabelle in einen Topf. Was du erzeugst, ist keine Datenbank. sondern eine Tabelle. Bei DBase ist die Datenbank einfach das Verzeichnis, wo die Tabellen drinstehen. Eine Tabelle wird über TzDbf "verwaltet". Im Code also
Delphi-Quellcode:
Wichtig ist TzDbf.DbfFileName. Dort steht der Name der DBF-Datei (=Tabelle) incl. Pfad.
var
MyDBF: TzDbf; begin MyDBF:= TzDbf.Create(NIL); try finally MyDBF.Free; end; end; Per TzDbf.Open bzw. TzDbf.Active:= True wird die Tabelle geöffnet. Dann sollte es noch First, Last, Next, Prior, Eof usw. geben. Da es als BDE-Ersatz gedacht ist, sollte die Verwendung der Befehle kein Problem sein. Heiko |
Re: dBase-Datenbanken mit Topaz-Erweiterung
Hallo,
hmm, so ganz verstehe ich das noch nicht. Ich habe folgendes ausprobiert:
Delphi-Quellcode:
Der Compiler meldet keinen Fehler.
{...}
{ Private-Deklarationen } DB: TTzVFile; {...} {...} DB:=TTzVFile.Create(Application); DB.DbfFilename := ExtractFilePath(ParamStr(0))+'test.dbf'; {specify the database name} DB.Open; DB.Append; DB.FieldByName('Test1').AsString := '20.05.2010 15:31:34'; DB.FieldByName('Test2').AsFloat := 40318.6469213; DB.FieldByName('Test3').AsFloat := 123.626; {...} Wenn ich das Programm aber laufen lasse, erhalte ich folgende Fehlermeldungen (Fehler tritt in der Zeile mit dem DB.Open auf): "FieldList.Count ist <=0 beim Versuch, eine Datenbank zu erzeugen" Und nach Bestätigung des OK-Buttons: "Im Projekt PdBase.exe ist eine Exception der Klasse Exception aufgetreten. Meldung: 'Dataset error: 1401'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen." Was mache ich falsch? |
Re: dBase-Datenbanken mit Topaz-Erweiterung
Ich habe kein Topaz, aber bei anderen Komponenten verwende ich
nicht DB.open; sondern DB.Active := TRUE; Bis alles läuft würde ich auch den Pfad erst fest im Programm angeben. Auch schadet es nicht zum Test vor dem DB.open eine ShowMessage auszugeben und Vorn und Hinten mit X und Z zu begrenzen. Gruß Alfred |
Re: dBase-Datenbanken mit Topaz-Erweiterung
Hallo,
gibt es denn hier wirklich keinen Fachmann der sich damit auskennt und hier helfen kann, bzw. ein erstes Grundgerüst posten kann, auf welches man aufbauen kann? Brauche hier wirklich Hilfe. Komme nicht weiter. |
Re: dBase-Datenbanken mit Topaz-Erweiterung
Hallo,
Delphi-Quellcode:
Bei mir in #6 heisst das aber anders ...
DB: TTzVFile
wie komst du jetzt auf TTzVFile ??? Zitat:
Glaube ich nicht, dass es noch was was gibt. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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 by Thomas Breitkreuz