AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Filter

Ein Thema von t0mmy · begonnen am 16. Nov 2011 · letzter Beitrag vom 17. Nov 2011
Antwort Antwort
Seite 1 von 2  1 2      
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#1

SQL Filter

  Alt 16. Nov 2011, 08:23
Datenbank: MSSQL • Version: 2005 • Zugriff über: ADO
Hallo!

Wie kann Filtere ich mittels SQL-Abfrage gewisse Zeilen in einer DBGrid?
Sprich ich habe eine DBGrid. mit Query und DataSource.
Jetzt stehen bei meiner Abfrage in der DBGrid, 3 Spalten.
Jetzt steht bei mir in der Zweiten spalte bei ein paar zeilen, Keine Ausgabe.
Jetzt möchte ich natürlich das diese Zeile nicht angezeigt wird.
Wie in etwa sollte da der SQL-Befehl zum Filtern lauten (bin anfänger in sachen SQL).
Bzw. gibt es da eine andere möglichkeit?

Danke schon mal im vorraus.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQL Filter

  Alt 16. Nov 2011, 08:26
Jetzt steht bei mir in der Zweiten spalte bei ein paar zeilen, Keine Ausgabe.
Jetzt möchte ich natürlich das diese Zeile nicht angezeigt wird.
Zeile, Spalte... Was genau willst Du nicht anzeigen? Willst Du die Daten filtern oder die Spalte ausblenden? Vielleicht machst Du einmal einen Screenshot und erläuterst, was Du hast und was Du haben willst.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: SQL Filter

  Alt 16. Nov 2011, 08:37
Oder vllt. auch mal das momentane SQL-Statement posten...
Ralph
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#4

AW: SQL Filter

  Alt 16. Nov 2011, 08:38
Also ich würde schon bei der SQL-Abfrage etwas Filtern.

Und zwar meine SQL-Abfrage lautet:

Code:
Select Spalte1, Spalte2, Spalte3 from TabelleTEST where Wert1 = '''+Edit1.Text+'''';
Diese funktioniert auch. Jedoch möchte ich nach der zweiten spalte filtern, sprich wenn dort drinnen in der Zelle Keine Ausgabe steht dann soll ers nicht anzeigen.
Mein vorgehen:

Code:
'Select Spalte1, Spalte2, Spalte3 from TabelleTest where Wert1 = '''+Edit1.Text+''' AND Spalte2 <> ''''Keine Ausgabe''''';
Nur funktioniert das nicht so wie ichs mir gedacht habe.. was mach ich falsch?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

AW: SQL Filter

  Alt 16. Nov 2011, 08:44
Theoretisch sollte das schon richtig sein, sofern Deine Daten stimmen. Allerdings solltest Du besser SQL-Parameter benutzen, Beispiele dazu gibt es jede Menge hier im Forum.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: SQL Filter

  Alt 16. Nov 2011, 09:21
Code:
'Select Spalte1, Spalte2, Spalte3 from TabelleTest where Wert1 = '''+Edit1.Text+''' AND Spalte2 <> ''''Keine Ausgabe''''';
Sieht mir um "Keine Ausgabe" nach ein bissle viel '''''''' aus:
Code:
'Select Spalte1, Spalte2, Spalte3 from TabelleTest where Wert1 = '''+Edit1.Text+''' AND Spalte2 <> ''Keine Ausgabe''';
so sollte es reichen.

ggf. auch noch Groß-/Kleinschreibung abchecken?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: SQL Filter

  Alt 16. Nov 2011, 09:24
Kommen hier jetzt noch mehr Threads vom gleichen TE zu diesem Thema?

DBGrid Filter

Hätte da nicht auch ein Thema gereicht?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

AW: SQL Filter

  Alt 16. Nov 2011, 09:25
Parametrisier das Ganze doch erst einmal:
Delphi-Quellcode:
Query.SQL.Text := 'Select Spalte1, Spalte2, Spalte3 from TabelleTest where Wert1 = :wert1 AND Spalte2 <> :spalte2';
Query.Parameters.ParamByName('wert1').Value := Edit1.Text;
Query.Parameters.ParamByName('spalte2').Value := 'Keine Ausgabe';
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#9

AW: SQL Filter

  Alt 16. Nov 2011, 09:43
@Jumpy

Danke.. habs mir schon wegs gedacht das es so was in der art is. deswegen hab ich mal einen String deklariert und dort den Filterwert reingeschrieben. somit war die übersicht der ''''' bissal einfacher.

danke nochmals für eure antworten..
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#10

AW: SQL Filter

  Alt 16. Nov 2011, 16:26
So.. jetzt habe ich ein anderes Problem am Start.. und zwar habe ich in einer Tabelle zwei Spalten die in einer zweiten auch vorkommen.
In dieser zweiten sind Tabelle sind diese zwei Spalten auch vorhanden.. jedoch gibt es zu den zwei werten der zwei Spalten.. eine Dritte und vierte Spalte die 4 mal den gleichen wert der ersten Tabelle enthält.

Beispiel:

Tabelle1:
Spalte1 Spalte2 Spalte3
16333 5555 Teil1
16334 5555 Teil2
16335 5555 Teil3
...

Tabelle2:
Spalte1 Spalte2 Spalte3 Spalte4
16333 5555 1 OK
16333 5555 2 OK
16333 5555 3 OK
16333 5555 4 NEIN

16334 5555 1 NEIN
16334 5555 2 NEIN
16334 5555 3 NEIN
16334 5555 4 NEIN


So.. Jetzt will ich das im DBGrid Teil1 angezeigt wird da dort mindestens 1 Ok drinnen ist und Teil2 nicht drinnen steht.. weils ja kein OK drinnen stehen hat..
Wie gehe ich das am besten an.

Danke schon mal im Vorraus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:28 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