Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL in Delpih benutzen (https://www.delphipraxis.net/85503-sql-delpih-benutzen.html)

The Madcat 31. Jan 2007 19:00

Datenbank: Paradox • Version: 7 • Zugriff über: TTable + TDatasource

SQL in Delpih benutzen
 
Hallo,
ich hab ein kleines problem beim schreiben eines datenbank-progs.
das meiste hab ich hinbekommen, allerdings SEHR zeitfressend, vorallem wenn ich sehe, dass sortierungen die im prog sekundenlang dauern mit SQL innerhalb von sekundenbruchteilen umgesetzt werden ...

jetzt hab ich SQL allerdings noch nie in delphi benutzt und deswegen hab ich ein bisschen gesucht und wurde an mehreren stellen an das TQuery verwiesen, allerdings hab ich keine ahnung wie man das dings benutzt ...

natürlich hab ich schon die Suche benutzt allerdings nichts gefunden, das mir weiterhilft ...

ich würd mich über ein simples kleines beispiel freuen ^^

MfG und danke im Vorraus
Madcat

mkinzler 31. Jan 2007 19:20

Re: SQL in Delpih benutzen
 
Mit TTable kannst du kein SQL verwenden, aber mit TQuery(LocalSQL).

Pfoto 31. Jan 2007 19:23

Re: SQL in Delpih benutzen
 
Hi!

hier mal ein paar Zeilen, um aus einer Datensatz die
vorhandenen Datensätze anzufordern:
Delphi-Quellcode:
  // Zuvor der Query sagen, um welche Datenbank es geht...
  Query1.DataSource:= ...
  Query1.Database:= ..
  Query1.SQL.Text:= 'SELECT * FROM DeineTabelle';
  Query1.Open; // Bei Select-Statements  
  {Jetzt geöffnete Query abarbeiten, bis das Ende erreicht ist }
  while not Query1.EOF do
  begin
    // Hier das die gewünschten Felder auslesen
    ID:= FieldByName(ID).AsInteger; // beispielsweise das Feld "ID"
    Next; // zum nächsten Datensatz weiterspringen
  end;
  Query.Close;
Das SELECT * macht natürlich nur bedingt Sinn, da man
gezielt nur die wirklich benötigten Daten vom Server zum
Client bringen sollte.
Sonst kann auch hier das Ergebnis auf sich warten lassen.

Das ist auch das gute (der Sinn) an einer Query:
Man kann gezielt aus mehreren Tabellen eine Zusammenführung
(Joints) machen und aus der Datenbank lesen.

Ergänzung:
Ersetzte Query1.Open durch Query1.Exec wenn es um
Datenbank-verändernde Statements (Insert, Update, Delete...) geht.


Wie eine Datenbankverbindung aufgebaut wird und über
welche Komponenten ist das wieder eine Sache für sich...


Gruß
Pfoto

The Madcat 31. Jan 2007 23:35

Re: SQL in Delpih benutzen
 
Danke Pfoto, ich denke, das ist genaut das was ich gebraucht hab^^

oldmax 1. Feb 2007 06:27

Re: SQL in Delpih benutzen
 
Hi
Vielleicht hilft dir mein kleines Tutorial "Datenbank, auch für kleine Anwendungen". Geh einfach über die Autorensuche, dann findest du es schon.
Gruß oldmax

hoika 1. Feb 2007 08:14

Re: SQL in Delpih benutzen
 
Hallo,

noch ein Punkt zu Pdx und TQuery.
Das ganze geht nur solange gut, bis
man eine richtige Netzwerkanwendun braucht,
also die Daten auf einem externen Server liegen
und die Datenmenge etwas grösser wird.

Danach wird TQuery extrem lahm im Vergelcih zu TTable.

Am besten gleich ne richtige DB nehmen.


Heiko

Pfoto 1. Feb 2007 08:27

Re: SQL in Delpih benutzen
 
Wollte noch was ergänzen:

Da ich keine DB-Komponenten benutze, sondern
alles manuell auslese in herkömmliche Komponenten,
nutze ich diesen (wie oben) beschriebenen Weg:

Delphi-Quellcode:
 

  while not Query1.EOF do
  begin
    // Hier das die gewünschten Felder auslesen
    ID:= FieldByName(ID).AsInteger; // beispielsweise das Feld "ID"
    Next; // zum nächsten Datensatz weiterspringen
  end;
Wenn du die Query bzw. Datasource direkt mit einer
DB-sensitiven Komponente verlinkst (z.B. TDBGrid),
werden die Daten natürlich automatisch dort hineingebracht...

Im Delphi-Beispielordner sind diesbezügl. auch noch
Beispiel-Projekte.


Gruß
Pfoto

ManuelR 1. Feb 2007 09:13

Re: SQL in Delpih benutzen
 
Zitat:

Man kann gezielt aus mehreren Tabellen eine Zusammenführung
(Joints) machen und aus der Datenbank lesen.
Joints lassen sich aus Tabellen leider noch nicht machen :zwinker:

Pfoto 1. Feb 2007 12:39

Re: SQL in Delpih benutzen
 
Zitat:

Zitat von ManuelR
Zitat:

Man kann gezielt aus mehreren Tabellen eine Zusammenführung
(Joints) machen und aus der Datenbank lesen.
Joints lassen sich aus Tabellen leider noch nicht machen :zwinker:

Du Haarspalter ;-)
Naja, der Richtigkeit halber nennen sie wir halt: Joins

Gruß
Pfoto

ManuelR 1. Feb 2007 16:01

Re: SQL in Delpih benutzen
 
Hi Pfoto,

war ein kleiner Scherz,

abgesehen davon finde ich Deine etwas ausführlicheren Beiträge echt klasse.


Viele Grüsse


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 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 by Thomas Breitkreuz