AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage anpassen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage anpassen

Ein Thema von Starworld1000 · begonnen am 4. Apr 2007 · letzter Beitrag vom 26. Apr 2007
Antwort Antwort
Starworld1000

Registriert seit: 19. Mär 2007
49 Beiträge
 
#1

SQL Abfrage anpassen

  Alt 4. Apr 2007, 12:06
Datenbank: Access • Version: 2003 • Zugriff über: AdoQuery
Hallo alle zusammen

Ich hab ein kleines Problem an dem ich hänge
Ich lasse den Benutzer Werte eingeben die später gefiltert werden:

Bsp:
AdoQuery1.Parameters.ParamByName('Ziele').Value := DBZiel.Text;

Wenn aber der Benutzer nicht das Ziel kennt, sollen alle Daten in der Datenbank angezeigt werden, aber wie ?


MfG Starworld1000
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: SQL Abfrage anpassen

  Alt 4. Apr 2007, 12:08
Verwende like und setzte den Parameter ggf auf %
Markus Kinzler
  Mit Zitat antworten Zitat
Starworld1000

Registriert seit: 19. Mär 2007
49 Beiträge
 
#3

Re: SQL Abfrage anpassen

  Alt 4. Apr 2007, 12:14
Like ?

Kannst du mir auch vielleicht sagen wo & wie ?


Ich stehe auf ewig in deiner Schuld
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Abfrage anpassen

  Alt 4. Apr 2007, 12:22
In der SQL Abfrage das where <Feld> = :Ziele durch where <Feld> like :Ziele ersetzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Starworld1000

Registriert seit: 19. Mär 2007
49 Beiträge
 
#5

Re: SQL Abfrage anpassen

  Alt 4. Apr 2007, 12:28
Okay ich versuchs mal

Vielen Dank
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: SQL Abfrage anpassen

  Alt 4. Apr 2007, 14:58
Ich würde zwei Abfragen verwenden; eine mit WHERE Bedingung und eine ohne.
Es gibt wahrscheinlich eine DataSource auf deinem Formular, dann wird dort umgeschaltet:
Delphi-Quellcode:
if EditFilter.Text ='then
   DataSource1.DataSet := AdoQueryAll
else
   DataSource1.DataSet := AdoQueryFiltered;
Der Trick mit like und dem Parameter '%' kann bei grösserer Datenmenge zu langen Wartezeiten führen.

Wenn du nun aber mehr als 2 verschiedene Filter (und damit verschiedene WHERE Bedingungen) hast,
dann würde ist die Query zur Laufzeit aufbauen/modifizieren.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: SQL Abfrage anpassen

  Alt 4. Apr 2007, 17:07
Zitat von shmia:
Der Trick mit like und dem Parameter '%' kann bei grösserer Datenmenge zu langen Wartezeiten führen.
Sollte es hoffentlich nicht, denn jede halbwegs gescheite SQL Engine sollte
select * from Tabelle where Feld like '%' zu
select * from Tabelle optimieren.

EDIT:
Ok, ich sagte "gescheite". Hatte übersehen dass es sich um Access handelt
  Mit Zitat antworten Zitat
Starworld1000

Registriert seit: 19. Mär 2007
49 Beiträge
 
#8

Re: SQL Abfrage anpassen

  Alt 26. Apr 2007, 19:46
LOL

Danke für die Tips

Ja Access hat so seinen Ruf weg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz