beim Debuggen ist mir gerade etwas aufgefallen, was mich später dann noch zu Problemen führen würde, weil die erwarteten DB-Daten so nicht vorhanden sind.
folgende ausgelagerte Befehls-Abfolge habe ich getestet:
Code: Alles auswählen
procedure Main
// Hauptmodell anlegen wenn nicht vorhanden
if file( "DB_DUMMY.DBF" )
erase ("DB_DUMMY.DBF")
endif
aStruct := { { "ID", "N", 2, 0 }, ;
{ "NAME", "C", 32, 0 } }
DbCreate( "DB_DUMMY.DBF", aStruct )
SELECT 103
USE ( "DB_DUMMY.DBF" )
APPEND BLANK
REPLACE ID WITH 1
REPLACE NAME WITH "ELEMENT 1"
APPEND BLANK
REPLACE ID WITH 3
REPLACE NAME WITH "ELEMENT Nummer 3"
APPEND BLANK
REPLACE ID WITH 4
REPLACE NAME WITH "ELEMENT Nummer 4"
APPEND BLANK
REPLACE ID WITH 5
REPLACE NAME WITH "Nummer - 5"
INDEX ON NAME TO DummyName
SET INDEX TO DummyName
SET ORDER TO 1
SET EXACT ON
SET SOFTSEEK OFF
cFind := "element"
SEEK cFind
if len(rtrim(cFind)) != len(rtrim(NAME)) .and. Found()
? ("unterschiedlicher Inhalt mit FOUND->TRUE & EOF->FALSE")
? "gesucht: '"+cFind+"'"
? "gefunden: '"+NAME+"'"
endif
cFind := "ELEMENT Nummer"
SEEK cFind
if len(rtrim(cFind)) != len(rtrim(NAME)) .and. Found()
? ("unterschiedlicher Inhalt mit FOUND->TRUE & EOF->FALSE")
? "gesucht: '"+cFind+"'"
? "gefunden: '"+NAME+"'"
endif
// Workaround...
cFind := "ELEMENT Nummer"
SEEK (cFind + space( len(NAME)-len(cFind) ))
if len(rtrim(cFind)) != len(rtrim(NAME)) .and. Found()
? ("unterschiedlicher Inhalt mit FOUND->TRUE & EOF->FALSE")
? "gesucht: '"+cFind+"'"
? "gefunden: '"+NAME+"'"
endif
return
Ich habe SOFTSEEK OFF und EXACT ON, was muss ich vor dem SEEK in der Datenbank setzen damit ich den Workaround nicht benötige?
danke schon mal für die Hilfe...