Antwort schreiben...
 
Themen-Optionen Thema durchsuchen
Alt 02.04.2008, 10:32   #1
waldbauer.com
Entwickler
Abfrage bringt HEAP Error

Um eine Abfrage recht komplex und schnell zu machen (schneller als MATCHES) bin ich auf folgende Idee gekommen:

Code:
local preview daten=from daten where f2 in(t:t9> or mc in (t:t9> or\\
f3 in (t:t9> or f4 in(t:t9> or strasse in(t:t9> or plz in (t:t9>\\
or tel1 in(t:t9> order f2
Problem:

Enthält Abfrage zb. ein Leerzeichen (also Meier Huber) oder ist einfach länger als ein möglicher Treffer (zb. Vielzulangertext) und die Trefferanzahl ist 0 kommt es zu einem eigenartigen HEAP Error. OA4 stürzt komplett ab. Die zwischenzeitliche Lösung ist die Eingabe auf nur 4 oder 5 Zeichen zu beschränken ist jedoch mittlerweile ein Problem da zuviele Ergebnisse vorkommen.

Hat jemand eine Idee ?
waldbauer.com ist offline   Mit Zitat antworten
Alt 02.04.2008, 18:45   #2
Heinz_Richartz
Registrierter Benutzer
Hi,

ich habe da ein Verständnisproblem ...
Mit der Bedingung IN müssen doch ein unterer und ein oberer Grenzwert vorgegeben werden, welche durch einen Doppelpunkt getrennt und von Klammern eingeschlossen werden. Du schreibst aber z.B. in(t:t9> - die schließende Klammer wird also wohl als > dargestellt!?

Was steht denn in den beiden Variablen t und t9 drin? Arbeitest Du im Programmierer oder ist das Programm compiliert?

Soweit ich das hier bei mir testen kann, ist die Abfrage korrekt und Ausführbar. Auch wenn Leerstellen enthalten sind, werden die richtigen Datensätze geliefert.

Es grüßt Dich
Heinz
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 02.04.2008, 19:22   #3
waldbauer.com
Entwickler
Ich arbeite im Programmierer und habe das Teil dann compiliert. Das die oberen und unteren Grenzwerte in Klammern sein müssen steht nicht in meinem Handbuch. Demnach sollte es in
Code:
(t):(t9)
heissen ? Vielleicht ist das mein Fehler - werde ich morgen probieren.
waldbauer.com ist offline   Mit Zitat antworten
Alt 02.04.2008, 20:02   #4
Heinz_Richartz
Registrierter Benutzer
Nein nein, so war das nicht gemeint. IN (t:t9) ist richtig. Es funktioniert ja bei mir. In Deinem Beitrag stand allerdings IN (t:t9> - dass hatte micht verwirrt.
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 02.04.2008, 21:04   #5
waldbauer.com
Entwickler
Ja das geht - ich weiss jetzt nicht mehr genau was das war aber damit kann man die obere Grenze verändern. Steht im Compiler Handbuch nur das habe ich grad hier nicht zur Hand.
waldbauer.com ist offline   Mit Zitat antworten
Alt 03.04.2008, 09:23   #6
waldbauer.com
Entwickler
So also jetzt hab ich es gefunden - im Datenbank Handbuch auf der Seite 286

Code:
IN (500:500) findet von 100 bis 500 einschließlich
IN <500:500> von 101 bis 499
IN <100:500) von 101 bis 500
In meinem Fall habe ich an T9 ein Leerzeichen angefügt. Somit wollte ich damit einfach verhindern, daß zuviel in der Ergebnisliste steht.
waldbauer.com ist offline   Mit Zitat antworten
Alt 03.04.2008, 18:16   #7
Heinz_Richartz
Registrierter Benutzer
Ist Dein Problem jetzt gelöst oder noch immer offen? Das mit der Klammern und den Größer-/Kleiner-Zeichen hatte ich gar nicht gewusst. Soviel zur Einbildung 'Ich kenn mich gut aus!'. Mit < bzw > wird also lediglich festgelegt, ob der untere und/oder obere Grenzwert ausgeschlossen werden. Vermute ich richtig, dass Du mit mehr oder weniger beliebigen Fragmenten in mehreren Datenfeldern nach Treffern suchen willst? Da bietet sich doch MATCHES für an. Du gibst einen Suchbegriff vor, hängst vorn und hinten einen Stern dazu und formulierst dann WHERE name MATCHES suchbegriff OR strasse MATCHES suchbegriff ....

Wenn noch was offen ist ... ich probiere gerne.

Schöne Grüße
Heinz
Heinz_Richartz ist offline   Mit Zitat antworten
Alt 03.04.2008, 18:24   #8
waldbauer.com
Entwickler
Problem ist nicht gelöst - auch wenn ich es wie du mache kommt es manchmal zu besagtem HEAP oder IMPLEMENTED ERROR. Ich werde mal meinen menschlichen Debugger (Ludwig) ranlassen
waldbauer.com ist offline   Mit Zitat antworten


Antwort schreiben...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nach Abfrage mit Formel eine Zufallszahl einfügen waldbauer.com SPI OA4 Open Access II/III/IV (2,3,4) Anwender Forum 8 28.11.2007 16:24
Abfrage in Programmierer RKabis SPI OA4 Open Access II/III/IV (2,3,4) Anwender Forum 5 12.07.2007 16:24