AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBX meldet Syntaxfehler wo keine sind

DBX meldet Syntaxfehler wo keine sind

Ein Thema von Der schöne Günther · begonnen am 24. Jun 2013 · letzter Beitrag vom 24. Jun 2013
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 13:23
Datenbank: SQLite • Version: ? • Zugriff über: lokal
Hallo.

Ich kenne mich mit Datenbanken in der Praxis nur sehr rudimentär aus. Ich weiß noch nicht einmal, ob ich die Felder "ergänzende Angaben" richtig asugefüllt habe. Mein Problem ist folgendes: Ich möchte mit Delphi einfach nur aus einer SQLite-DB mittels SELECT eine Ergebnismenge bekommen. Bislang ging das gut. Eine etwas komplexere Abfrage (Vereinigung zweier Abfragen mit Unterabfrage) scheitert nun - Angeblich sogar Syntaxfehler.

Normalerweise sucht man die Schuld bei sich selbst, nur bekommen andere Tools die exakt gleiche Abfrage auf der exakt gleichen Datenbank es ohne Probleme hin (SQLite Expert Personal oder SQLite Database Browser 2.0)!

Habe ich in Delphi irgendeine Einstellung vergessen?

Die Verbindung vom Typ TSQLConnection lege ich folgendermaßen an:
Delphi-Quellcode:
   sqlConnection := TSQLConnection.Create(nil);
   sqlConnection.Connected := False;
   sqlConnection.DriverName := 'Sqlite';

   sqlConnection.Params.Values['Database'] := startupFile;
   sqlConnection.Params.Values['FailIfMissing'] := 'True';
, abholen tue ich mir die Werte über
Delphi-Quellcode:
   query := '[...]';

   sqlConnection.Execute(
      query,
      nil,
      result
   );

   result.First();
   while not result.Eof do begin
      [...]
      result.Next();
   end;
Mache ich hier schon etwas falsch? Irgendeine "Aktiviere dies, wenn es etwas komplexer wird"-Einstellung vergessen? Ich habe auch die sqlite.dll gegen die sqlite.dll des "SQLite Expert Personal"-Tools ausgetauscht, das hat auch nichts gebracht.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 13:32
Evtl. liegt es daran, dass TSQLConnection nur unidirektional zugreifen kann, dein select aber mehr bräuchte.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 13:39
Ich nix verstehen

Meine Abfrage vereint zwei SELECT-statements mittels UNION, erstere hat eine Unterabfrage die sich auf die Ergebnismenge der äußeren bezieht. Das ist neu, ganz einfache SELECT-Abfragen gingen bislang. Gut möglich, dass der Typ TSQLConnection nicht mehr reicht und jetzt etwas neues her muss. Nur was?
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 13:46
Leider bietet Delphi von sich aus nur diesen unbrauchbaren unidirektionalen (kann nur in eine Richtung lesen) Zugriff an. Wenn der select korrekt ist und andere selects funktionieren, liegt es sicherlich daran. Vernünftigen Datenbankzugriff bekommst du nur über Drittanbieter, ich hatte zuerst ZEOS danach hatte ich mich für UniDAC entschieden.

Soviel ich weiß können XE4-Version-Besitzer auf die kostenlose FireDAC zugreifen, welche man sich glaube zuvor runterladen muss.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.051 Beiträge
 
Delphi 12 Athens
 
#5

AW: DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 13:47
Probier es doch mit FireDAC.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 14:07
Ich wollte eigentlich nichts weiter als eine lokale Konfiguration aus einem paar KB großen SQLite-File einlesen.

Muss ich mir jetzt wieder irgendwelche Enterprise-Lösungen herunterladen und installieren nur um ein halbes Dutzend Zeilen aus einer SQLite-DB zu lesen?
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 14:12
Du kannst auch versuchen den select "einfacher" zu formulieren, daraus mehrere selects zu machen und die "Union"-Syntax programmtechnisch lösen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.051 Beiträge
 
Delphi 12 Athens
 
#8

AW: DBX meldet Syntaxfehler wo keine sind

  Alt 24. Jun 2013, 15:35
Muss ich mir jetzt wieder irgendwelche Enterprise-Lösungen herunterladen und installieren nur um ein halbes Dutzend Zeilen aus einer SQLite-DB zu lesen?
Dein Profil sagt aber doch XE4 Enterprise. Daher bin ich davon ausgegangen, daß FireDAC bei dir installiert ist.

FireDAC ist erstmal nichts weiter als eine Alternative zu dbExpress. Natürlich muss man bei jeder verwendeten Technologie mit einem Lernaufwand rechnen. Nach meiner Erfahrung ist der bei FireDAC aber geringer als bei dbExpress.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz