DatabaseUpdate mit Null-Werten funktioniert nicht

Für allgemeine Fragen zur Programmierung mit PureBasic.
Käthe
Beiträge: 5
Registriert: 01.10.2004 10:21
Wohnort: Nähe Köln

DatabaseUpdate mit Null-Werten funktioniert nicht

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: DatabaseUpdate mit Null-Werten funktioniert nicht

Beitrag 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
a²+b²=mc²
Käthe
Beiträge: 5
Registriert: 01.10.2004 10:21
Wohnort: Nähe Köln

Beitrag von Käthe »

Hallo Kiffi!

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

Viele Grüße,
Käthe
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten