AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie nutze ich CheckBox in SQL-Abfrage?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie nutze ich CheckBox in SQL-Abfrage?

Ein Thema von zenobi · begonnen am 15. Feb 2007 · letzter Beitrag vom 15. Feb 2007
Antwort Antwort
zenobi

Registriert seit: 8. Feb 2007
7 Beiträge
 
Delphi 7 Professional
 
#1

Wie nutze ich CheckBox in SQL-Abfrage?

  Alt 15. Feb 2007, 12:59
Datenbank: MySQL • Zugriff über: MySQL Access
Hallo,

ich habe folgendes Problem:
möchte nach mehreren Kriterien in meiner DB suchen. Dazu habe ich eine Eingabemaske mit einem EditFeld (Hier kann der gesuchte Produktname eingegeben werden), einer ComboBox (hier stehen mehrere Herstellernamen zur Auswahl), eine Checkbox1 als Produktart A / Checkbox2 als Produktart B und CheckBox3 als Produkt-Active.
Wir nehmen an, dass ich nach 5 Kriterien suche:
Produktname (varchar)
Produkthersteller (varchar)
Produkttyp (boolscher Ausdruck)
ProduktAktiv (boolscher Ausdruck)

(Alle 5 Daten befinden sich in einer Tabelle und jedes Kriterium ist als eine Spalte in dieser Tabelle gültig). Die Suche nach zwei ersten Kriterien funktioniert aber ich weiss nicht wie ich jetzt noch zu dieser Abfrage diese drei Checkboxen anbinden soll, damit die ganze Suche nach 5 Kriterien funktionieren kann.

Um die Suche zu programmieren habe ich folgenden Code geschrieben:

Delphi-Quellcode:
procedure TForm7.Button1Click(Sender: TObject);
begin
   with DataModule4.MyQuery5 do begin
      DataModule4.MyQuery5.SQL.Clear;
      DataModule4.MyQuery5.SQL.Add('Select * from product ');
      DataModule4.MyQuery5.SQL.Add('where p_name like');
      DataModule4.MyQuery5.SQL.Add(' ''%' + Edit1.Text + '%''');
      DataModule4.MyQuery5.SQL.Add('AND p_producername like ''%' + ComboBox1.Text + '%''');
  
      DataModule4.MyQuery5.Open;
      Label2.Caption := IntToStr(RecordCount) + ' Stück gefunden!'
Hat jemand irgendwelche Idee wie man dieses Problem lösen könnte?
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie nutze ich CheckBox in SQL-Abfrage?

  Alt 15. Feb 2007, 13:11
Hi zenobi,

wie wärs mit
if CheckBox.Checked then DataModule4.MyQuery5.SQL.Add('Dein Kriterium') Uwe
Uwe
  Mit Zitat antworten Zitat
marabu

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

Re: Wie nutze ich CheckBox in SQL-Abfrage?

  Alt 15. Feb 2007, 14:38
Herzlich willkommen in der Delphi-PRAXiS, zenobi.

Eine Spalte vom Typ BOOL kannst du gegen 0 oder 1 prüfen.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
zenobi

Registriert seit: 8. Feb 2007
7 Beiträge
 
Delphi 7 Professional
 
#4

Re: Wie nutze ich CheckBox in SQL-Abfrage?

  Alt 15. Feb 2007, 14:44
Hallo Uwe,

danke für den Tip, es funktioniert jetzt

Falls jemand gleiches Problem hat, gebe ich noch mal die ganze Lösung an:

Delphi-Quellcode:

  with DataModule4.MyQuery5 do begin
  DataModule4.MyQuery5.SQL.Clear;
  DataModule4.MyQuery5.SQL.Add('Select * from product ');
  DataModule4.MyQuery5.SQL.Add('where name like');
  DataModule4.MyQuery5.SQL.Add(' ''%' + Edit1.Text + '%''');
  DataModule4.MyQuery5.SQL.Add('AND herstellername like ''%' + ComboBox1.Text + '%''');
    if CheckBox1.Checked then DataModule4.MyQuery5.SQL.Add('AND type_A = 1 ');
    if CheckBox2.Checked then DataModule4.MyQuery5.SQL.Add('AND type_B = 0 ');
  DataModule4.MyQuery5.Open;
end;
end;
ps. Genauso funktioniert es mit RadioButton.

Grüße,

zenobi
  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 08:54 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