![]() |
Delphi-Version: 7
Database Components
Hey Delphianer!
Ich habe ein Problem mit den Zeos Komponenten, undzwar kann ich mit diesem Code
Delphi-Quellcode:
die Datenbanken nicht anzeigen ... ich bekomme lediglich als Result eine "0".
Form1.ZConnection1.HostName := 'localhost';
Form1.ZConnection1.Protocol := 'mysql'; Form1.ZConnection1.Port := StrToInt('3306'); Form1.ZConnection1.User := 'root'; Form1.ZConnection1.Password := ''; Form1.ZConnection1.Connect; Form1.ZQuery1.SQL.Text := 'SHOW DATABASES'; Form1.ZQuery1.Open; ShowMessage(ZQuery1.FieldByName('Database').AsString); Ich habe die Zeos Components auch mit einem TDBGrid verbunden. Beim TDBGrid werden alle Datenbanken aufgezählt. Die Anzahl der Datenbanken ist richtig, jedoch bekomme ich als Result für jede Reihe im TDBGrid eine "0". Nun mein Problem: Ich will die Namen der Datenbanken angezeigt bekommen. Gibt es als Alternative irgendwelche anderen NEUEREN Komponenten? Mfg DArc |
AW: Database Components
Hallo...
wenn das DBGrid die Daten anzeigt sind sie auch im Dataset. Zitat:
|
AW: Database Components
naja show database sollte doch die namen der datenbanken wiedergeben,
ich bekomme lediglich eine 0 Ich habe kurz ne PHP Variante geschrieben
Code:
Das Ergebnis ist
<?php
mysql_connect("","root",""); $res = mysql_query("SHOW DATABASES"); while ($row = mysql_fetch_row($res)) { echo $row[0],"<br/>"; } ?> Zitat:
Wobei mir fällt grad auf, dass man vllt wie bei PHP ein array einbinden müsste (echo $row[0],"<br/>";) weiß aber nicht wie das mit Zeos funktionieren soll:shock: Mfg DArc |
AW: Database Components
Delphi-Quellcode:
Form1.ZConnection1.HostName := 'localhost';
Form1.ZConnection1.Protocol := 'mysql'; Form1.ZConnection1.Port := 3306; //wozu das String-Geraffel? Form1.ZConnection1.User := 'root'; Form1.ZConnection1.Password := ''; Form1.ZConnection1.Connect; Form1.ZQuery1.SQL.Text := 'SHOW DATABASES'; Form1.ZQuery1.Open; while not Form1.ZQuery1.EOF do begin ShowMessage(Form1.ZQuery1.Fields[0].AsString); Form1.ZQuery1.Next; end; |
AW: Database Components
dieses geraffel tu ich normal nicht, hab da normal das stehen, musste es aber ersetzen, da es lästig war immer wieder einzugeben
Delphi-Quellcode:
bei mir kommt trotzdem 0 raus
Form1.ZConnection1.Port := StrToInt(edtx.Text);
Code:
kann das pls wer compilen, testen und berichten, obs bei ihm geht?
---------------------------
Project1 --------------------------- 0 --------------------------- OK --------------------------- |
AW: Database Components
Warum eigentlich so spezialisiert?
Delphi-Quellcode:
Ok, wer lesen kann ist klar im Vorteil, sorry...
var Liste:TStringList;
i:integer; begin Liste:=TStringList.Create; try ZConnection.GetTableNames('', Liste); for i:=1 to Liste.Count do ShowMessage(Liste[i-1]); finally Liste.free; end; end; |
AW: Database Components
Mal ganz doof gefragt: die Query ist aber mit der Connection verbunden, oder?
|
AW: Database Components
Moin...
ich zitiere nochmal weil ja keiner drauf hört :zwinker: Zitat:
Zitat:
|
AW: Database Components
Liste der Anhänge anzeigen (Anzahl: 1)
Hab mal das Beispiel Projekt hochgeladen.
Ich möchte alle Datenbanken angezeigt bekommen, die Anzahl stimmt, nur die Namen sind falsch. Achja, um das Beispiel nachzuvollziehen braucht ihr lediglich einen MySQL Server mit ein paar Datenbanken. |
AW: Database Components
Schon mal mit Omata's allgemeinen/db-unabhängigen Vorschlag versucht?
|
AW: Database Components
ja, kriege da aber die tabellen namen und nicht den inhalt
|
AW: Database Components
Mit
SQL-Code:
aber auch nicht
SHOW DATABASES
|
AW: Database Components
klar, schau mal die erste Seite den PHP Script an
ich müsste halt nur das ergebnis in ein array reinladen und den ersten rausnehmen
Code:
so hab ichs auch schon versucht
echo $row[0],"<br/>";
Code:
Anstatt AsString, hab ich Value, Text usw. probiert, kriege jedesmal "0" raus.
ShowMessage( ZQuery1.FieldByName('Database').AsString);
€dit: Ich will ja net unhöflich wirken, aber könnte mal bitte irgendjemand einfach das Beispiel Projekt ziehen oder selbst kurz ein Programm mit den hier im Thread auftauchenden Codes erstellen und es einfach testen? BITTE! Und nochwas: Ich hatte nie Schwierigkeiten Tabellen Inhalte anzuzeigen, verstehe also nicht wieso das nicht funktioniert, denn die Datenbanken sind im Grunde auch in einer Tabelle, undzwar "Database" gespeichert, deswegen funktioniert das PHP Script ja auch |
AW: Database Components
Was meinst du mit Inhalt?
SQL-Code:
liefet dir eine Liste der Namen der Datenbanken des Servers und nicht deren Inhalt
SHOW DATABASES
|
AW: Database Components
zum verständnis:
1. Ich möchte ja die Namen rausfinden, kriege aber bei jedem Code den ich benutzt habe, meinen eigenen und die der anderen, immer "0" zurück! 2. Sind die Datenbanken in einer Tabelle gespeichert:
Code:
Es gibt nur eine Spalte soweit ich weiß, undzwar "Database" ... sollte man aber wissen, wenn man sql bzw php oft benutzt
+++++++++++++++
- Database - +++++++++++++++ Name 1 Name 2 Name 3 usw. |
AW: Database Components
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Database Components
Kannst mal Dumpen, was für Ergebnisse da kommen?
Ich raff einfach nicht wieso das bei mir nicht funktioniert^^ |
AW: Database Components
Hast du überhaupt die Berechtigung "Show DataBases"?
Zitat:
|
AW: Database Components
Die Berechtigungen muss ich doch haben, weil das PHP Script funktioniert ...
|
AW: Database Components
Nein nicht unbedingt. Da bei MYSQL die Nutzerrechte pro Rechner vergeben werden können. Läuft das Programm den auf dem selben Rechner?
|
AW: Database Components
Zitat:
|
AW: Database Components
ja tut es, zum testen mach ich immer alles lokal aufm Rechner
An Sir Rufo: Beide laufen lokal, also sind die Rechte ja gleich oder nciht ;) achja ich möchte hinzufügen, dass es mit der "MySQL ohne Komponenten" funktioniert, nur mit Zeos nicht :S |
AW: Database Components
Hast du meinen Screenshot gesehen? Wie sieht deiner aus?
|
AW: Database Components
Liste der Anhänge anzeigen (Anzahl: 1)
Da habs angehängt ...
€dit: Ich würde das ganze auch gern mit Passwort versuchen, aber
Code:
Zeos veraltet? hmmm
---------------------------
Project1 --------------------------- SQL Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client. --------------------------- OK --------------------------- |
AW: Database Components
Such mal alle libmysql.DLL auf deinem Rechner und Vergleiche die Versionen.
Am besten natürlich, wenn die Version auch zum Server passt. Alternativ kannst du auch eine aktuelle DLL in das Anwendungsverzeichnis des Testprogramms kopieren und nochmals testen. |
AW: Database Components
das ganze ist mir bissle zu blöd geworden, ich benutz einfach php scripts und lese das ergebnis aus, so hab ich auch kein problem mit
den ganzen versionen, die komische bedienung der zeos komponenten und an sich das veraltete zeos wo ich immer hinterher rennen muss usw. und das mit den php scripts wäre auch optimal, da ich für mein produkt ein server mit apache / php / mysql brauche |
AW: Database Components
Der MySQL-Client hat aber nichts mit Zeos zu tun. Genausowenig ist die Ermittlung von vorhandenen Datenbanken eine Kernkompetenz von Datenbankzugriffskomponenten zudem diese Art der Ermittlung so nur bei mySQL geht und Zeos ja eine Komponentensammlung für mehrere DBMS ist.
|
AW: Database Components
Zitat:
nerv. außerdem ist doch ein php script viel einfacher zu bewältigen und bietet tolle features, ne gescheite dokumentation gibts auch (ne eigene hp die immer uptodate ist;) ) hinzukommt, dass ich mich in zeos einarbeiten muss, was aber in dem sinne sowieso sinnlos ist, weil mein produkt auch wie gesagt ein server braucht über den ein php script laufen muss, wieso dann extra ne komponente für datenbankzugriffe? usw. aber trotzdem danke für die hilfe^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 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