![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Paradox DB mit SQL über BDE ansteuern
Moin,moin.
Hab kurz eine Frage. Habe folgenden Quelltext:
Delphi-Quellcode:
Nun weiß ich nicht genau, was ich für die Variable dbname einsetzen muss. Wenn ich dort den kompletten Pfad inkl Datenbankfile eintrage erhalte ich folgenden Fehler:
query1.SQL.Add('INSERT INTO '+dbname+' VALUES('+#39+dbDatum+#39+','+#39+dbuhr+#39+','+#39+dbbz+#39+','+#39+dbbe+#39+','+#39+dbbolus+#39+','+#39+dbbemerkung+#39);
"Im Projekt[...] ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung: Ungültiges Schlüsselwort Symbolstring: ? [...]" Wenn ich nur den Datenbank filename eintrage kommt das folgendes: "Im Projekt[...] ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung: Ungültiges Schlüsselwort Symbolstring: 1.db [...]" Ich hoffe, mir kann jemand weiter helfen! MFG Henrik |
Re: Paradox DB mit SQL über BDE ansteuern
Name der Tabelle(ndatei), also mit oder ohne .db
|
Re: Paradox DB mit SQL über BDE ansteuern
Hallo Henrik,
verwende eine TDatabase-Komponente, um den Datenpfad festzulegen. Mit einem Doppelklick auf die Komponente öffnest du den property editor. Vergib einen Namen für die Datenbank und setze den Treiber auf STANDARD. Wenn du dann die Vorgaben abrufst, erhältst du einen leeren PATH-Eintrag. Den kannst du manipulieren, wie es dir gefällt - vorzugsweise zur Laufzeit beim Erzeugen deines Datenmoduls. Durch den Eintrag DEFAULT DRIVER = PARADOX kannst du auf die Erweiterung .db bei deinen Tabellen-Namen verzichten und es werden trotzdem nicht alle bekannten Erweiterungen gesucht. Dein INSERT-Statement birgt die Gefahr, dass eine runtime exception geworfen wird, wenn in einer der Variablen (z.B. dbbemerkung) ein Apostroph vorkommt. Mach es besser so:
Delphi-Quellcode:
Grüße vom marabu
const
ins = 'INSERT INTO %s VALUES(:datum, :uhrzeit, :bz, :be, :bolus, :bemerkung)'; var tn: String; begin tn := 'tblname'; // hier dein Tabellen-Name with query1 do begin SQL.Text := Format(ins, [tableName]); Params.ParamValues['bemerkung'] := dbbemerkung; Params.ParamByName('datum').AsDateTime := dbdatum; // ... ExecSQL; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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