Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SQLParser - Gaiasoft (https://www.delphipraxis.net/175968-sqlparser-gaiasoft.html)

Gruber_Hans_12345 3. Aug 2013 11:21

SQLParser - Gaiasoft
 
Hallo

Hat wer Erfahrung mit dem SQLParser?

Eigentlich ist das Teil perfekt, aber leider beim einem oder anderem funkt es nicht 100%
Und man müsste den noch erweitern, aber ist doch etwas umständlich sich da einzulesen, habs nun schon einen Tag probiert ;)

Also wenn sich jemand damit auskennt...

mein erstes Problem ist einfach ein
Code:
SELECT * FROM TAB ORDER BY A ||B
Beim Order mag er kein ||

Hat wer einen Tipp oder schon sogar "gefixt" ??

Sir Rufo 3. Aug 2013 13:01

AW: SQLParser - Gaiasoft
 
Für welches Datenbanksystem soll das denn eingesetzt werden?

Beim schnellen Drüberfliegen konnte ich auf jeden Fall schon mal ein MSSQLDialect sehen (wohl bicht komplett umgesetzt).

Das müsstest du für dein gewünschtes DBMS implementieren

Gruber_Hans_12345 5. Aug 2013 09:11

AW: SQLParser - Gaiasoft
 
Ich verwende Firebird ...

Perlsau 5. Aug 2013 09:26

AW: SQLParser - Gaiasoft
 
Zitat:

Zitat von Gruber_Hans_12345 (Beitrag 1223365)
mein erstes Problem ist einfach ein
Code:
SELECT * FROM TAB ORDER BY A ||B
Beim Order mag er kein ||

Die Spalten in der ORDER BY Klausel sollte man mit Komma trennen. Du verwendest hier stattdessen das sog. Concat-Zeichen, das eine Addition von Strings herbeiführt, ein Äquivalent zum + in Delphi. Es kann aber keine Spalte geben, die sich aus zwei Spaltennamen zusammensetzt.
Code:
SELECT * FROM TAB ORDER BY A, B

Gruber_Hans_12345 5. Aug 2013 09:32

AW: SQLParser - Gaiasoft
 
Zitat:

Zitat von Perlsau (Beitrag 1223478)
Zitat:

Zitat von Gruber_Hans_12345 (Beitrag 1223365)
mein erstes Problem ist einfach ein
Code:
SELECT * FROM TAB ORDER BY A ||B
Beim Order mag er kein ||

Die Spalten in der ORDER BY Klausel sollte man mit Komma trennen. Du verwendest hier stattdessen das sog. Concat-Zeichen, das eine Addition von Strings herbeiführt, ein Äquivalent zum + in Delphi. Es kann aber keine Spalte geben, die sich aus zwei Spaltennamen zusammensetzt.
Code:
SELECT * FROM TAB ORDER BY A, B

Ja ich weiss, das Problem ist, das es schon eine Menge solcher SQL Commands gibt, und die funktionieren ja auch ohne Probleme.
Und möchte die nun ungern alle bearbeiten müssen, nur weils der SQL Parser nicht kann, aber der Firebird die akzeptiert ...

Sir Rufo 5. Aug 2013 10:03

AW: SQLParser - Gaiasoft
 
Dann implementiere den Firebird Dialekt für den Parser, der dieses berücksichtigt

Gruber_Hans_12345 5. Aug 2013 10:14

AW: SQLParser - Gaiasoft
 
Zitat:

Zitat von Sir Rufo (Beitrag 1223485)
Dann implementiere den Firebird Dialekt für den Parser, der dieses berücksichtigt

Versuche ich ja gerade ;)

Hab ja gefragt obs schon wer zufällig gemacht hat oder sich prinzipiell näher mit dem Teil beschäftigt hat ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 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