erstellt am:18.04.2024 10:23:19 - #24346 in section
Antworten
Antworten ohne Zitat
|
Hallo Ulf, |
Hallo, hat da jemand eine Idee? https://github.com/fdbozzo/foxbin2prg/issues/106 Leider benutzt Resolution in XCASE den Kopfnamen "NULL". Dort wird festgehalten, ob ein Feld einen .NULL. - Wert enthalten kann. Das Feld ansonst ist vom Typ L also .t. und .f. Replace myTab.null with .T. geht, ? myTab.null auch. Im MS SQL Server braucht man aber zwingend Felder mit NULL Werten z.B. Date und DateTime, kennt ihr ja. Schöne Ostern Ulf Neugebauer
|
Foxpro unterstützt es nicht, reservierte Worte als Namen zu verwenden. NULL ist ein reserviertes Wort. Häng noch was dran wie z.B. NULL_ sodass es ein nicht reservierter Bezeichner wird. Die "großen" SQL-Server sehen hier Begrenzer vor, 'NULL' oder [NULL] oder ähnliches. Kannst ja mal in Foxpro auch mit '' probieren. Vermutlich geht es nicht. Viele Grüße Bernhard Sander
|
Hallo Bernhard, XCase kommt aus Israel, sie benutzen Foxpro für die Tabellen. Ich hatte sie angeschrieben, sie sehen darin keinen Grund zur Änderung. Ich wäre auch nicht auf die Idee gekommen den Feldnamen zu wählen, aber es muss doch funktionieren. CREATE Table tblMyTest ( MyName c(10), MyField l, Null l) INSERT INTO tblMyTest Values( "Row 1", .T., .T. ) INSERT INTO tblMyTest Values( "Row 2", .F., .F. ) INSERT INTO tblMyTest Values( "Row 3", .T., .T. ) INSERT INTO tblMyTest Values( "Row 4", .F., .F. ) Mein Testcode hat auch kein Problem, eine Referenzierung auf den Feldnamen allein schlägt natürlich fehl, aber via Tabellenalias z.B. tblMytest.NULL gibt tatsächlich den richtigen Inhalt wieder. Ich habe aber noch etwas weiter gesucht, der Fehler taucht schon bei der Erstellung der *.db2 Datei auf, korrigiere ich die Datei funktioniert der Restore. Beste Grüße Ulf Neugebauer Fox on The Run (The Sweet) |