![]() |
Datenbank: Paradox • Version: x • Zugriff über: BDE
"Ungültiger Parameter" beim x-ten öffnen einer Tab
Hallo zusammen,
habe leider ein sehr blödes Phänomen ! Der Aufbau: Ich habe eine Paradox Tabelle, auf die mit verschiedenen Querys (Q1,Q2,Q3)zugegriffen wird.
Delphi-Quellcode:
Ich Schleife jeweils das Ergebnis durch. D.h. es werden folgende Nr gefiltert
Q1.SQL.text='Select Nr from Pos.db'+#10+
'where Nr like :par'; Q1.Params.ParamByName('par').asString:='_.'; Q2.SQL.text='Select Nr from Pos.db'+#10+ 'where Nr like :par'; Q2.Params.ParamByName('par').asString:=Q1nr.asstring[1]+'._.'; Q3.SQL.text='Select Nr from Pos.db'+#10+ 'where Nr like :par'; Q3.Params.ParamByName('par').asString:=Q1nr.asstring[1]+'.'+Q2nr.asstring[3]+.___.'; 0.0.000 bis 9.9.999 Da ich den Parameter von Q2 und Q3 immer wieder ändern muss, werden diese Querys immer wieder geschlossen und geöffnet. So nach ca. 1000 mal kommt beim öffnen plötzlich die Fehlermeldung "Ungültiger Parameter". Tja, was nun? Der Parameter stimmt, der übergeben wurde. Für mich sieht es irgendwie nach einem Speicherproblem aus, denn beim erneuten Starten der Funktion kommt sofort die Meldung "Ungültiger Parameter" (auch bei einem Neustart der AW). Erst Abmelden/Anmelden hilft. So bitte um eure Hilfe, danke. |
Re: "Ungültiger Parameter" beim x-ten öffnen einer
Hallo.
Wenn du auf die Bestandteile der Nr "1.2.345" zugreifen willst, solltest du über eine weitere Normalisierung nachdenken. Müsste das Pattern '_.' in der Query Q1 nicht besser '_.%' sein? Wenn du die Nummern nicht weiter zerlegen willst, würde ich wenigstens auf das tausendfache reopen verzichten. Kannst du den dahinter stehenden Anwendungsfall beschreiben? Vielleicht finden wir eine bessere Lösung. Wenn du den Verdacht auf Speicherprobleme hast, dann solltest du vielleicht mal MEMCHECK einsetzen. Grüße vom marabu |
Re: "Ungültiger Parameter" beim x-ten öffnen einer
Ich habe die Tabelle von einem Kunden bekommen. Die Tabelle beinhaltet eínzelne Textbausteine, die über die Nr aufgebaut sind.
Bsp. Man wählt zunächst die Hauptgruppe 0. bis 9. danach stehen einem die Textteile der zweiten Gruppe zur Verfügung dann der Dritten. Ich soll die Tabelle in ein anderes Format (ASCII) bringen. Hierfür muss ich jeweils die einzelnen Gruppen durchlaufen, daher das reopen. Zitat:
Q1 liefert die Hauptgruppe '_.' Q2 liefert die Untergruppe '0._.' Q3 die Detailgruppe '0.2.___' Danke für deine Bemühungen. |
Re: "Ungültiger Parameter" beim x-ten öffnen einer
Ich verstehe das jetzt so, dass die Tabelle im Feld Nr eine Gliederungsstufennummer (1. oder 1.2. oder 1.2.345.) enthält. Auf der untersten Ebene findest du einen Textbaustein, auf den oberen Ebenen nur Gliederungstitel. Das Ergebnis einer Normalisierung wäre bei mir wahrscheinlich eine selbst-rekursive Tabelle TBS: ID (PK), TBS_ID (FK), NR, TEXT. Eine Umformung sollte in einem Durchgang möglich sein, wenn du ORDER BY NR verwendest.
Gruß marabu |
Re: "Ungültiger Parameter" beim x-ten öffnen einer
Ja, hast recht wenn die Tabelle sequentiell abgearbeitet wird ist das ganze kein Problem mehr!
Da hätte ich eigentlich auch selbst drauf kommen können :wall: . Ich danke Dir für Deine Denkanstöße. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz