Hidden Felder und Null

Hallo

habe eine ASP „Applikation“ welche Daten in eine SQL Server DB speichert… Nun habe ich auf dem SQL Server Felder mit DateTime Format welche keine Leerstrings akzeptieren…

Die Daten werden mittels hidden Feldern an das ASP übergeben… Kann mir jemand sage, wie ich in Hidden Felder „NULL“ als Wert übergeben kann, damit ich dies, wenn kein Datum eingegeben wurde, in die DB speichern kann?

Besten Dank

Hi

Ich hatte dieses Problem auch schon einige Male. Da mir auf die schnelle keine Lösung eingefallen ist bzw. ich nicht die Zeit hatte mich damit eingehend zu beschäftigen, machte ich folgendes.

 myvar = request.Form("MyField")
 if trim(myvar) = "" then myvar = " "
 ...
 [Daten in die DB schreiben]

Ich prüfe also, ob das Feld leer ist. Wenn ja, schreibe ich den Wert " " (ein Leerzeichen) in die DB. Für’s auslesen mache ich dann folgendes:

 ...
 [Datenbankverbindung herstellen]
 myvar = trim(recordset("MyEntry"))

So erhalte ich schlussendlich wieder „“ als Wert für myvar.

Ich denke es gibt sicherlich bessere, weniger murksige Lösungen - aber es geht auch so :smile:

Viele Grüsse

Christian

Besten Dank…
das ist das was ich aktuell mache (Schnellschuss Lösung oder besser Workaround)… Allerdings kannst du eben in den SQL Datentyp Datetime keinen Leerstring oder ein Space reinschreiben… Wenn du dort kein Datum willst, musst Du zwingend NULL (in VB vbNull, nicht die Zahl 0 sonderen effektiv ) reinschreiben…

Gruss Marc

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

Hast Du schonmal etwas in der Art wie

if trim(myvar) = "" then myvar = vbNull

probiert ?

Chris

yup… geht in ASP nicht (kann aber noch VBScript in ASP probieren das wollte ich allerdings vermeiden…)

gruss
Marc

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

Hmmm…ist komisch…

Ich verwende für eine Mailfunktion zum layouten des Body-Textes die Konstante „vbcrlf“ und das geht einwandfrei…

wieso geht vbnull nid…? ich schaue mal ob ich dazu was finde - falls ja, melde ich mich hier…

Hi

wieso geht vbnull nid…? ich schaue mal ob ich dazu was finde

  • falls ja, melde ich mich hier…

Weil vbNull eine Konstante mit dem Wert 1 ist. Also wird 1 gespeichert.

gruss, Giuseppe