Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b] (https://www.delphipraxis.net/20842-%5Bb%5Dmysql-sql-abfrage-von-datenbanktabellen-mit-%5B-b%5D.html)

betsche2k4 24. Apr 2004 10:13


[b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Hi Leute,

ich hab wiedermal ein kleineres SQL Prob.
Und zwar will ich per
SQL-Code:
Show Tables From [Datenbank]
mir alle Tabellen dieser Datenbank ausgeben lassen. Mein Problem ist aber, dass meine Datenbankname ein Leerzeichen enthält z.B. 'Schachverein Honolulu'.
Und so bekomm ich eine Fehler nach dem ersten Wort!!!
Wie kann ich das denn beheben? :?:

Schöne Grüsse

Betsche2k4

Bernhard Geyer 24. Apr 2004 10:16

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Probier mal:

Show Tables From 'Schachverein Honolulu'

oder

Show Tables From "Schachverein Honolulu"

oder

Show Tables From [Schachverein Honolulu]

betsche2k4 24. Apr 2004 10:17

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Ne funkzt nicht!!

Bernhard Geyer 24. Apr 2004 10:23

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Kommt immer noch die gleiche Fehlermeldung (bei allen 3 Versionen)?

betsche2k4 24. Apr 2004 10:31

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
ja, er prüft dann den ganzen String, also '[Datenbank]' oder ''Datenbank'' oder '"Datenbank"'. Gibts nicht irgend einen Verbinder
wie z.B. & oder +???

Sharky 24. Apr 2004 10:32

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Bitte keinen Formatierungs-Tags in den Titeln.
Da geht das nämlich nicht. Danke. :-D

Bernhard Geyer 24. Apr 2004 10:37

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Noch ein Versuch:

Show Tables From `Schachverein Honolulu`

Database, Table, Index, Column and Alias Names aus der mySQL-Hilfe.

betsche2k4 24. Apr 2004 10:42

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Thanks thats korrekt!!!! :bounce2:

es hat geklappt!

Danke für dies Unterstützung.


Betsche2k4 :thuimb:

lkz633 24. Apr 2004 11:19

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Hallo,

du kannst auch mit ADO verbinden und dann die Funktion gettablenames benutzen

Gruss lkz633

betsche2k4 24. Apr 2004 11:23

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Danke für den tipp, aber will lieber bei einer Schnittstelle bleiben.
Wäre zwar auch ne Möglichkeit aber jetzt gehts ja.

Danke trotzdem,

Betsche2k4 :thuimb:

Bernhard Geyer 24. Apr 2004 11:29

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
ADO hätte auch noch den Nachteil (wenn man nichts ausgeben will) das man über ODBC gehen muß:

Anwendung -> ADOExpress -> ADO -> ODBC -> mysqllib.dll -> mysql.

Was bedeutet das sowohl:
- ODBC
- ADO
- ODBC-Treiber für ADO
installiert sein muß (jeweils in passender Version)

Grundsätzlich sollte man möglichst wenig Schnittstellen haben. Bei mysql bieten sich z.B. native Komponeten wie DAC for MySQL an (oder falls kein TDataset-Nachfolger gewünscht) eine mysql.pas-Umsetzung. Damit wird der Zugriff auf

Anwendung -> Native-Treiber -> mysqllib.dll -> mysql

oder

Anwendung -> Native-Treiber -> mysql

verkürzt. Mit diesen Weg hat man bei weiten weniger Installations + Wartungsprobleme (Nach .NET-Redensart ist damit die XCopy-Installation möglich).

lkz633 24. Apr 2004 11:33

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Wiso das denn?

Ich kann doch direkt ueber ADO mit einem Ole DB Provider auf die Dastenbank zugreifen.
Das hat mit ODBC gar nichts zu tun und ist sogar schneller.

Gruss lkz633

Bernhard Geyer 24. Apr 2004 11:48

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
AFAIK ist der von mysql direkt angeboten ADO/OLE DB-Treiber kostenpflichtig.
Und ob der direkt auf die Datenbank zugreift oder erst über die mysqllib.dll geht ist mir nicth bekannt

Damit kommst Du auf

Anwendung (-> ADO-Express) -> ADO -> OLE DB-Provider für mySQL (-> libmysql.dll) -> mysql

Hast also immer noch dafür zu sorgen das

- ADO (in entsprechender Version)
- OLE DB Provider für mysql (in entsprechende Version)

installiert ist. Und hast damit immer noch keine XCopy-Installation.

lkz633 24. Apr 2004 11:58

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Ole Treiber is kostenloas und geht nicht ueber libmysql. Und ADO ist sowieso immer installiert.

Das heisst ADO Treiber installieren und fertig.

lkz633

Bernhard Geyer 24. Apr 2004 12:21

Re: [b]Mysql SQL Abfrage von Datenbanktabellen mit [/b]
 
Zitat:

Ole Treiber is kostenlos und geht nicht ueber libmysql.
Aber nicht bei mysql direkt (hab jedenfalls keinen Treiber gesehen)

Zitat:

Und ADO ist sowieso immer installiert.
Nur ab W2K in halbwegs aktueller version. Bei älteren Versionen muß dies erst nachinstalliert werden (z.B. IE bringt glaube ich maximal die 2.1er-Version mit)

Zitat:

Das heisst ADO Treiber installieren und fertig.
Und dazu muß man erst mal die Rechte (Admin) haben. In einer Firma z.B. ist ein installationsfreies Programm (über native-Treiber) bei weiten einfacher zu warten (Einmal auf Server-Verzeichnis installiert, Link verteilt - fertig) als auf jeden Rechner die entsprechende Installation zu starten.


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