Seite 1 von 1

DatabaseUpdate mit Null-Werten funktioniert nicht

Verfasst: 13.08.2008 11:41
von Käthe
Hallo zusammen!

Habe ein Problem beim Update. Und zwar verarbeitet mein Programm Daten aus einer Access-Datenbank. Insert funktioniert tadellos. Das Update theoretisch auch, allerdings nur solange, wie alle Felder tatsächliche Werte enthalten. Sobald ein Feld mit Null = chr(0) gefüllt werden soll, läuft das gesamte Update nicht mehr.

Code:

Code: Alles auswählen

DatabaseUpdate("update gebuehrenkataloge set gebu_gueltig='"+chr(0)+"' where gebu_id="+Str(v_id))
Funktioniert nicht.

alternativ habe ich folgenden Code getestet:

Code: Alles auswählen

DatabaseUpdate("update gebuehrenkataloge set gebu_gueltig='' where gebu_id="+Str(v_id))
Funktioniert auch nicht.

Folgender Code funktioniert, ist aber halt nicht das, was ich erreichen will..:

Code: Alles auswählen

DatabaseUpdate("update gebuehrenkataloge set gebu_gueltig='01.01.2008' where gebu_id="+Str(v_id))
Leider kann ich an der Stelle auch nicht den Wert "0" einfügen, weil die Spalte in Access Datumsformat hat und halt nur Datumswerte akzeptiert.

Kennt jemand das Problem zufällig? Hänge schon echt lange an diesem Problem und freue mich über jede Hilfe!!! :)

Viele Grüße,
Katja

Re: DatabaseUpdate mit Null-Werten funktioniert nicht

Verfasst: 13.08.2008 12:37
von Kiffi
Hallo Käthe,

Code: Alles auswählen

DatabaseUpdate("update gebuehrenkataloge set gebu_gueltig = Null where gebu_id="+Str(v_id))
Grüße ... Kiffi

Verfasst: 13.08.2008 12:44
von Käthe
Hallo Kiffi!

Es wäre so einfach gewesen...
Vielen Dank, funktioniert perfekt!!!

Viele Grüße,
Käthe

Verfasst: 13.08.2008 13:34
von Kaeru Gaman
zum Background:
Dein erstes Beispiel funktioniert nicht, weil das Chr(0) den String beendet.
Strings in PB sind Null-terminiert, wie in etlichen anderen Sprachen auch.

das bedeutet, letztendlich wird nur
"update gebuehrenkataloge set gebu_gueltig='"
an die Funktion DatabaseUpdate übergeben, der Rest wird ignoriert.