ungültige Zeigeroperation

Hallo zusammen,

Ich habe ein Problem,
ich habe mir eine Programm geschriebe(mit Borland Builder 6.0) welches auf eine DB(Oracle) zugreift(ODBC + BDE).
Über einen TimePicker wähle ich eine Datum und übergebe es an ein selbst geschrieben Funktion die dann das Format für Oracle bereitstellt. Nun kommt mein Problem es funktioniert alles gut bis der liebe Monat März gewählt wird da bekomme ich sporadische die Fehlermeldung „ungültige Zeigeroperation“.
Ich muss für meine Abfrage den Monat so übergeben z.B. 03-März-2005
Was kann ich da machen ohne das Programm komplett zu änderen??

Vielen Dank vorab. shadow

bereitstellt. Nun kommt mein Problem es funktioniert alles gut
bis der liebe Monat März gewählt wird da bekomme ich
sporadische die Fehlermeldung „ungültige Zeigeroperation“.
Ich muss für meine Abfrage den Monat so übergeben z.B.
03-März-2005

Hallo,

März ist der erste und einzige Monat mit deutschem Umlaut. Vielleicht will Oracle Maerz sehen?

Gruss Reinhard

Hi,

ich vermute mal ein Problem mit den Variablentypen die als Parameter fuer die Function oder in der Function selbst benutzt werden , unsigned signed oder aehnliches.
„ä“ ist CHAR(132)

Hope this helps
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

März ist der erste und einzige Monat mit deutschem Umlaut.
Vielleicht will Oracle Maerz sehen?

Gruss Reinhard

Hallo Reinhard,

Danke für deine Hilfe
leider möchte Oracle wirklich „März“ übergeben bekommen :frowning:
Ich habe es in der reinen SQL-Umgebung von Oracle ausprobiert da geht es!
Was ich nicht verstehe,
TQuery holte die Daten ab und beim nächsten Tag im März kommt wieder dieser Fehler und dann wieder nicht ???!!

Gruss Shadow

Hi,

ich vermute mal ein Problem mit den Variablentypen die als
Parameter fuer die Function oder in der Function selbst
benutzt werden , unsigned signed oder aehnliches.
„ä“ ist CHAR(132)

Hope this helps
Peter

Hallo,

Das habe ich erst auch vermutet aber da ich um das Datum zuwandel es von AnsiString in char wandeln muss habe ich einen Zeiger verwendet,
das funktioniert eigentlich auch gut bis auf diesen Monat.
char *datum;
//…
datum=data.c_str();

shadow

Was ich nicht verstehe,
TQuery holte die Daten ab und beim nächsten Tag im März kommt
wieder dieser Fehler und dann wieder nicht ???!!

Gruss Shadow

Hallo,

vielleicht hängt es indirekt doch mit dem Umlaut zusammen: manche Systeme kommen nicht damit zurecht, dass sich beim Wandeln von ä zu ae auch die Stringlänge ändert, besonders wenn die Umwandlung Zeichen für Zeichen am selben Speicherplatz erfolgt - dann gibt es in den Tiefen des Systems einen Buffer Overrun mit all seinen Unwägbarkeiten, es muss nicht jedesmal ein Fehler auftreten.

Wenn das so ist, fällt mir allerdings nichts ein, was du dagegen tun könntest.

Gruss Reinhard