AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Table Filtern (zeichenweise)
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Table Filtern (zeichenweise)

Ein Thema von Christian18 · begonnen am 23. Jan 2006 · letzter Beitrag vom 25. Jan 2006
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 11:13
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Hallo,

hat jemand eine Idee, warum mein Filter in meiner ADO Tabelle nicht funktioniert???

Hier mein Quellcode:

DM.TKunden.Filter:='KundenID = ' + QuotedStr(Edit1.Text + '*'); Mit freundlichen Grüßen

Christian18
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 11:15
Versuch's mal mit 'LIKE' statt '='

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#3

Re: ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 11:16
Hallo,

meinst du so:
DM.TKunden.Filter:='KundenID LIKE ' + QuotedStr(Edit1.Text + '*'); MFG Christian18
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 11:25
Ja!

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

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

Re: ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 12:03
Filter kennen kein "like", meines Wissens. Zumindest nicht bei der BDE.

2 Lösungen:
entweder den SQL Select direkt anpassen
oder Filter = 'KundenID >= ' + QuotedStr(Edit1.Text); wobei erser Vorschlag der eleganere ist.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 12:14
Wieso BDE, hier geht es doch um ADO - oder?

ADO kennt den Operator LIKE, allerdings mit der Einschränkung auf '*' resp. '%' als wildcard, wobei aber nur prefix search unterstützt wird.

Grüße vom marabu
  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: ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 12:20
Zitat von marabu:
Wieso BDE, hier geht es doch um ADO - oder?
Ja, nur hab ich den Filter früher nur bei der BDE benutzt, und da klappte der like Operator nicht. Deshalb meinte ich nur, dass das allg. nicht klappt... Sorry, mein Fehler.
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#8

Re: ADO Table Filtern (zeichenweise)

  Alt 23. Jan 2006, 12:35
Hi !
Also ich denke diese Frage passt zu diesem Thread.
Wie 'handeln' ADOQuery und ADOTabel einen Filter intern ?
Wird da eine neue Query abgesetzt oder werden alle Datensätze durchlaufen ?
Ist eine StoredProc mit dem Suchkriterium als Parameter nicht schneller ?
Danke im Vorraus
Otto
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: ADO Table Filtern (zeichenweise)

  Alt 25. Jan 2006, 07:34
Hallo Otto,

nach meinem Kenntnisstand wird die ADO Filter property dazu benutzt records aus einem bereits berechneten recordset auszublenden. Dass eine parametrisierte SP generell die wirtschaftlichere Lösung ist, möchte ich bezweifeln. Es gibt da bestimmt ein Skalierungsproblem. Bei geringer Kardinalität ist der Filter für eine eingrenzende Suche sicher optimal, aber ich kann keinen break even point nennen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#10

Re: ADO Table Filtern (zeichenweise)

  Alt 25. Jan 2006, 07:41
Zitat von Ferber:
Ist eine StoredProc mit dem Suchkriterium als Parameter nicht schneller ?
Danke im Vorraus
Eine SP, die eine simple Abfrage ausführt wird generell langsamer sein, als ob du die Abfrage direkt ausführst. Damit du die Datensätze in der Ergebnismenge siehst müssen sie ja erst herumgeschobn werden.
Bei komplexen Abfragen hat man den Vorteil, dass das DBMS den Query plan, sowie Sicherheitsprüfungen nur einmal zur Kompilierungszeit bestimmen muss.
Robert Giesecke
  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 14:51 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