Entwickler-Ecke

Datenbanken - SHOW FIELDS ohne Umlaute


Freiberger - Do 19.07.07 20:19
Titel: SHOW FIELDS ohne Umlaute
Hallo,
gibt es eine Möglichkeit, mit SHOW FIELDS FROM Table
auch Umlaute anzuzeigen ?
Ich habe eine Datenbank zu durchsuchen ( deren Feldnamen ich aber nich ändern kann )
und es kommt immer ein Fehler.
Grund: Die Felder 'Gerät' und 'Gerätetyp' werden mit SHOW FIELDS beide als 'Ger' angezeigt.

Kann man da was machen ???


Agawain - Do 19.07.07 21:35

Hi

mit was für Datenzugriffs.Kompos greifst Du denn zu?

Würde mal eine andere nehmen.

Eine andere Möglichkeit wäre mit Query zu arbeiten, dort die Abfrage so gestalten, daß im Ergebnis keine Umlaute mehr vorkommen, also z.B.
SELECT gerät AS Geraet usw.

Versuch macht klug.

oder vielleicht hilft ja auch schon GetieldList

Gruß

Aga


ene - Fr 20.07.07 07:06

Oder auch ein SELECT * FROM Tabelle und im Recordset dann alle Fields durchlaufen.


Freiberger - Fr 20.07.07 16:10

ich arbeite mit Query.

Es sind viele Datenbanken (nicht von mir), von denen ich die Feldnamen auflisten möchte.
SELECT * FROM TABLE ist leider zu langsam, da die Datenbanken zu groß sind.

Habe heute das ganze mal auf nem richtigen SQL-Server getestet. DA GEHT ES ?!
Auf dem Laptom mache ich es mit XAMPP.
Irgendwie kann XAMPP nur die Umlaute nicht darstellen. Im php-Admin sind die Fehler auch da.


Agawain - Fr 20.07.07 16:43

jo

das kann ich mir gut vorstellen.

Meine Frage bezog sich aber auf die Datenbankzugriffskomponenten in Delphi, gibt welche, die sowas ausbügeln könnten.

Wenn ich nämlich jetzt über EMS-Lite auf der Linux-Server DB eine Tabelle Geräte anlege, nimmt MySQL, handelt sich um Version 5, das klaglos an.

Und daß das bei MSSQL-Server geht, wundert mich überhaut nicht.

Werde trotzdem nicht auf die Idee kommen, für Tabellennamen, Feldnamen und überhaupt Computerobjekte mit irgendwas anderem, als a-z zu benennen und das einzige Sonderzeichen, daß ich mir erlaube, ist ein Unterstrich.

Anders zu verfahren, ist immer wieder eine Quelle schwer aufzufindender Problemursachen.

Gruß

Aga


Freiberger - Fr 20.07.07 16:53

ich gege über ein TMyQuery rein.
Leider kann (und darf) ich die Tabellen-Namen bzw Feld-Namen nicht ändern,
da sonst viele Programme geändert werden müßten.
( habe jetzt bei XAMPP alle fehlerhaften Tabellen 'versteckt', aber eine Endlösung ist es leider nicht )

Kann man eigentlich auch SHOW FIELDS WHERE Size>5 AND Typ=VARCHAR
oder sowas machen ?

...Also alle Spalten mit einer bestimmten Größe & Typ ?!


uko - Fr 20.07.07 16:53


SQL-Anweisung
1:
select * from table where 1=0                    


Vieleicht hilft das was um die Feldnamen zu bekommen.

Grüße,
Uli


Freiberger - Fr 20.07.07 17:05

nicht wirklich, es kommt ein leeres Ergebnis.
Außerdem brauche ich
FELDNAME , DATATYP & DATASIZE

wobei ich z.B. VARCHAR(20) auch selbst per Programm zerlegen muß, um SIZE 20 herauszubekommen... Ist nicht so schön :cry:


Agawain - Fr 20.07.07 17:18

Hi

klar kommt ein leeres Ergebnis, aber mit den Feldnamen.

Und das ist halt fix, jetzt kannst Du mit getfildList vom query die Felder ansprechen und Dir Typ und Name und Size angeben lassen.

Gruß

Aga


Freiberger - Fr 20.07.07 17:24

Hy, Super.
Hatte es vorhin im php-Admin versucht und da hat es nix angezeigt.
Mit Delhi klappt es wunderbar...

Für die Umlaute muß ich mir eben mal ne andere Kompo suchen...

Dankeschön an Alle.


Agawain - Fr 20.07.07 19:53

Zu diesem Zweck empfehle ich Dir

EMS SQL-Manager Lite

http://sqlmanager.net/products/mysql/manager/

Die Lite Version kostet nix und ist wesentlich komfortabler als PHPMyAdmin

Gruß

Aga