Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabelle und DBGrid aus DB füllen (https://www.delphipraxis.net/114618-tabelle-und-dbgrid-aus-db-fuellen.html)

mckruep 28. Mai 2008 11:12

Datenbank: MySql • Zugriff über: SQL Query

Tabelle und DBGrid aus DB füllen
 
Hey Leute,

hoffe ihr könnt mir helfen. Ich benutze für ein FH Projekt Delphi 5 Pro und muss ein "kleines" Programm erweitern.

Ich muss auf eine Datenbank verschiedene Sqlquerys ablassen um verschiedene statistische Daten zu erhalten. Z.B. Summe der Mitglieder. Dann soll das Ganze noch grafisch aufgearbeitet werden.

Die Verbindung zur Datenbank besteht eigentlich permanent. Aber ich hab keine Ahnung welche Komponente ich für die Tabelle benutzen soll und wie die dann gefüllt wird, weil die Spalten unterschiedlich benannt werden müssen, je nachdem was abgefragt wird und somit auch unterschiedliche Anzahl an Spalten/Zeilen hat. Kann mir da jemand sagen wie das geht?

Und dann soll aus dieser Tabelle dann ein Diagramm erzeugt werden.

Für Hilfe wäre ich echt dankbar.

Sherlock 28. Mai 2008 11:29

Re: Tabelle und DBGrid aus DB füllen
 
Schau Dir doch mal Luckies Tutorial dazu an:
http://www.michael-puff.de/Developer...mit_Delphi.pdf

Das sollte für den Einstieg und das Stellen detaillierterer Fragen reichen.

Edit: Dann gibt es in Delphi noch standardmäßig einige datenbankgebundene Komponenten, die Du verwenden kannst, schau mal in die Gruppe Datensteuerung (oder so ähnlich).

Sherlock

ToFaceTeKilla 28. Mai 2008 11:40

Re: Tabelle und DBGrid aus DB füllen
 
Stichwort datengebundene Komponenten: Wenn du des Englischen mächtig bist, ist hier ein doch sehr gutes und verständliches Tut zu finden.

mkinzler 28. Mai 2008 11:41

Re: Tabelle und DBGrid aus DB füllen
 
Oder hier:
http://www.delphi-treff.de/tutorials/datenbanken/

mckruep 28. Mai 2008 11:55

Re: Tabelle und DBGrid aus DB füllen
 
Kann es sein das Delphi es einfach nur nicht so mit MySQL hat? Dort wird immer nur MSQL aufgerufen. Muss man das für MySQL von Hand programmieren?

mkinzler 28. Mai 2008 11:57

Re: Tabelle und DBGrid aus DB füllen
 
Es kommt darauf an, welche Zugriffskomponenten man verwendet.

mckruep 28. Mai 2008 12:29

Re: Tabelle und DBGrid aus DB füllen
 
Die Tutorials beziehen sich aber leider auf solche Komponenten wo kein Mysql drin steht.

:wall:

hoika 28. Mai 2008 12:33

Re: Tabelle und DBGrid aus DB füllen
 
Hallo,

> Die Verbindung zur Datenbank besteht eigentlich permanent. <

Was hast du denn für eine "Verbindung".
Wenn es eine Erweiterung ist,
musst du doch wissen, wmit das bisher gemacht wurde,
also wie kommen die Daten in die DB.

Für so eine Anzeige brauchst du
TDBGrid.DataSource -> TDataSource.DataSet -> TXXXQuery

TXXXQuery kann was weiss ich was sein (TAdoQuery, TZQuery),
kommt immer darauf an, wmit das Programm begonnen wurde.


Heiko

mckruep 28. Mai 2008 12:41

Re: Tabelle und DBGrid aus DB füllen
 
Delphi-Quellcode:
function SQLVerbinden():boolean;
begin
  result := False;
  // FMysql Verbindungsparameter setzen
  loghinzufuegen('SQLVerbinden: SQL-Verbindung herstellen');
  FMysql := TMysqlClient.create;
  fmysql.Host := strEinstellungenSQLServername;
  fmysql.Port := intEinstellungenSQLServerPort;
  fmysql.User := strEinstellungenSQLBenutzername;
  fmysql.Password := strEinstellungenSQLPasswort;
  fmysql.UseSSL := False;      // noch ändern???    - DEBUG
  fmysql.Compress := True;
  bolEinstellungenAdministratorModus := false; // Administrator-Modus zurücksetzen, damit beim Start keine Anmeldung erfolgen kann
  fmysql.Db := ''; // Keine Datenbank bei Verbindungsaufbau auswaehlen

  // Versuchen DB-Server zu connecten
  if fmysql.connect then begin // Verbindung steht
    if fmysql.select_db(strEinstellungenSQLDatenbank) then begin
      loghinzufuegen('SQLVerbinden: Verbindung okay, DB "' + strEinstellungenSQLDatenbank + '" existiert');
    end else begin
      loghinzufuegen('SQLVerbinden: Verbindung okay, DB "' + strEinstellungenSQLDatenbank + '" existiert jedoch nicht');
      messagedlg('Die Verbindung zum Datenbankserver wurde hergestellt, die Datenbank "' + strEinstellungenSQLDatenbank + '" jedoch nicht gefunden. Bitte passen Sie die Programm-Einstellungen an.', mtError, [mbOK], 0);
      Exit;
    end;
    SQLEinstellungenLesen();
  end else begin // Verbindung ist fehlgeschlagen - Fehlermeldung ausgeben
    loghinzufuegen('SQLVerbinden: SQL-Fehler: ' + fmysql.LastError);
    messagedlg('Die Verbindung zum Datenbankserver ist fehlgeschlagen.' + #10#13 + 'Grund: ' + fmysql.LastError + #10#13#10#13 + 'Bitte prüfen Sie die Datenbank-Zugangsdaten sowie Ihre Internet-/Netzwerkverbindung und ggf. die Einstellungen Ihrer Firewall.', mterror, [mbOK], 0);
    Exit;
  end;
  result := True;
end;
Das ist der code mit der die Verbindung hergestellt wird

Edit: Kann auch gern das Programm zur Verfügung stellen per Mail wenns hilft

RavenIV 28. Mai 2008 12:56

Re: Tabelle und DBGrid aus DB füllen
 
Damit man Dir richtig helfen kann, wäre es interessant zu wissen, was TMysqlClient für eine Komponente ist.
Woher kommt die?

P.S. Wenn Du alles umbauen kannst, würde ich Dir ZEOS-Komponenten für den Zugriff auf MySQL empfehlen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr.
Seite 1 von 2  1 2      

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