Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Fehlerhafte Abfrage (https://www.delphipraxis.net/161510-fehlerhafte-abfrage.html)

mkinzler 6. Jul 2011 19:08

AW: Fehlerhafte Abfrage
 
SQL-Code:
SELECT
    a.*,
    k.name as k_name,
    k.vorname as k_vorname
from
    adressen a
        LEFT OUTER JOIN adr_kategorien k on k.id = a.kategorie_id
WHERE
    (a.name LIKE :such1) OR (a.vorname LIKE :such2)
ORDER BY
    k.id, a.name, a.vorname
LIMIT
    0,15;

s.h.a.r.k 6. Jul 2011 19:23

AW: Fehlerhafte Abfrage
 
Zitat:

Zitat von mkinzler (Beitrag 1110385)
SQL-Code:
SELECT
    a.*,
    k.name as k_name,
    k.vorname as k_vorname
from
    adressen a
        LEFT OUTER JOIN adr_kategorien k on k.id = a.kategorie_id
WHERE
    (a.name LIKE :such1) OR (a.vorname LIKE :such2)
ORDER BY
    k.id, a.name, a.vorname
LIMIT
    0,15;

Danke :thumb:

Luckie 6. Jul 2011 19:38

AW: Fehlerhafte Abfrage
 
Na ja, es war ein typischer Copy and Paste Fehler. Das lief mehr nach dem Motto Copy and Waste. ;)

Wo kommt :such1 und :such2 her? Oder woher weiß MySQL dass sich das auf k.name as k_name, k.vorname as k_vorname bezieht?

Stevie 6. Jul 2011 19:42

AW: Fehlerhafte Abfrage
 
Ich würde ja mal die Lektüre eines SQL Tutorials empfehlen. :roll:

mkinzler 6. Jul 2011 19:44

AW: Fehlerhafte Abfrage
 
:such1 und :such 2 sind die Parameter in der parametrisierten Abfrage.

Parameter haben den Vorteil, dass eine solche Abfarge leicht wiederverwendebar ist. Es muss dann nur noch der/die geänderten Parameter übertragen werden.

Luckie 6. Jul 2011 19:46

AW: Fehlerhafte Abfrage
 
Zitat:

Zitat von Stevie (Beitrag 1110393)
Ich würde ja mal die Lektüre eines SQL Tutorials empfehlen. :roll:

Habe ich ja gemacht. Aber so tief bin ich dann doch nicht eingestiegen.

OK. Und wo kommen die her? Wie legt man diese fest?

mkinzler 6. Jul 2011 19:51

AW: Fehlerhafte Abfrage
 
Delphi-Quellcode:
DataSet.SQL.Text := '<Abfrage>';
DataSet.Prepare;
1. Abfrage: Puff oder Bordell
Delphi-Quellcode:
DataSet.ParamByName('such1').Value := 'Puff';
DataSet.ParamByName('such2').Value := 'Bordell';
DataSet.Open;
2.Abfrage: Puff oder Mayer
Delphi-Quellcode:
DataSet.ParamByName('such2').Value := 'Mayer';
DataSet.Open;
Paramter sind Platzhalter, welchen man später beliebige Werte zuweisen kann ohne dass die Abfrage im Ganzen neu gesetzt werden und diese "kompilliert" werden muss (Parsen, Plan Bilden ...)

Luckie 6. Jul 2011 19:57

AW: Fehlerhafte Abfrage
 
Ich arbeite mit PHP. Ich habe aber trotzdem hier gepostet, weil es im vorrangig MySQL ging.

mkinzler 6. Jul 2011 19:58

AW: Fehlerhafte Abfrage
 
Welche DB-Bibliothek?

Das Prinzip ist aber das Selbe.

Luckie 6. Jul 2011 20:00

AW: Fehlerhafte Abfrage
 
Öhm. Gar keine? Alles von Hand mit PHP. Du weißt doch, ich bin Purist. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 Uhr.
Seite 2 von 4     12 34      

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