AGB  ·  Datenschutz  ·  Impressum  







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

Konfuse Anweisungen

Offene Frage von "Svenkan"
Ein Thema von Svenkan · begonnen am 23. Mai 2008 · letzter Beitrag vom 23. Mai 2008
Antwort Antwort
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#1

Konfuse Anweisungen

  Alt 23. Mai 2008, 12:13
Datenbank: dBase • Zugriff über: TQuery
Hallo Leute!
Folgendes Problem: Ich möchte, dass in meinen Plänen Einträge ausgeblendet werden, die in der Schülerbemerkung den Eintrag 'fällt aus' beinhalten. Nun ist es so, dass dies nicht immer so eingetragen wird in der Form (z.B. 'Diese Stunde (xxxx) fällt aus' etc.).

Delphi-Quellcode:
 if ausfallstunden_weg then
  ausfall_sql:='AND NOT BEMER_SCH Like ''%ällt aus%'' AND S >="'+IntToStr(ausfallstunden_weg_wann)+'"'
 else
  ausfall_sql:='';
Problem 1: Es werden alle Einträge ausgeblendet, die diesen String beinhalten oder gar keine Bemerkung.
Problem 2: Wie verknüpfe ich die Bedingungen nun so miteinander, dass sich die AND-Bedingung mit den betroffenen Ausfallstunden NUR auf die hier dargestellte Zeile bezieht und nicht auf die restlichen Abfragen?

Delphi-Quellcode:
  Query1.Close;
  Query1.SQL.Text := 'SELECT * FROM "VT'+sj+'"';
  Query1.SQL.Add('WHERE S NOT IN ("M","E","H") '+abteilung+' AND DATUM=:today');
  if ausfallstunden_weg then Query1.SQL.Add(ausfall_sql);
  Query1.SQL.Add('ORDER BY '+order1);
  Query1.ParamByName('today').Value := today;
  Query1.Open;
Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken..
Sven Kannenberg
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
669 Beiträge
 
#2

Re: Konfuse Anweisungen

  Alt 23. Mai 2008, 13:13
Ich weiß nicht, ob ich dich richtig verstanden habe, aber ich denke du suchst so was wie
SQL-Code:
... WHERE ... AND
(
(BEMER_SCH Like '%ällt aus%AND S < '5') OR
(BEMER_SCH NOT Like '%ällt aus%') OR
(BEMER_SCH is NULL)
)
Trotzdem solltest mal dein Datenbankmodell überdenken.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Konfuse Anweisungen

  Alt 23. Mai 2008, 13:35
Du könntest es auch mit Regex probieren:
WHERE NOT BEMER_SCH REGEXP '/fällt aus/i'; Ohne Gewähr, weil ich schon länger nicht mehr mit SQL geschweige denn Regex gearbeitet habe. Kann sein, dass da irgendwo ein Syntaxfehler ist.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Konfuse Anweisungen

  Alt 23. Mai 2008, 13:39
Ich glaube nicht das LocalSQL (BDE) reguläre Ausdrücke versteht.
Markus Kinzler
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Konfuse Anweisungen

  Alt 23. Mai 2008, 13:44
Das weiß ich leider auch nicht, weil ich bis jetzt zugegebenermaßen nur mit MySQL gearbeitet habe.
  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 00:53 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