Einfügen von null-Werten in Datums-Feldern?

Habe ich ein FormView-wo ziehe ich Daten aus einer Tabelle (MS Access), und klicken Sie dann einfügen (und mehr Daten) in eine andere Tabelle. Habe ich Probleme mit den Terminen.

Die erste Tabelle hat zwei Felder Datum: date_submitted und date_updated. In einigen Aufzeichnungen, date_updated leer ist. Dies führt mich zu einem data mismatch " Fehler beim einfügen in die zweite Tabelle.

Könnte es sein, weil ich bin databinding die date_updated Feld aus der ersten Tabelle in ein HiddenField auf der FormView. Es nimmt dann den Wert aus dem HiddenField und versucht, stecken Sie es in die zweite Tabelle:

Dim hfDateRequestUpdated As HiddenField = FormView1.FindControl("hfDateRequestUpdated")
myDateRequestUpdated = hfDateRequestUpdated.Value
'... It then attempts to insert myDateRequestUpdated into the database.

Es funktioniert, wenn es einen Wert gibt, aber anscheinend kann man nicht stecken Sie nichts in einen Datum/Zeit-Feld in Access. Ich glaube, ich könnte eine zweite insert-Anweisung, die sich nicht einfügen in date_updated (zu verwenden, wenn es keinen Wert indate_updated), aber das ist der einzige Weg, es zu tun? Scheint, wie es sein sollte, ein leichter/weniger redundante Weise.

BEARBEITEN:

Okay. Also habe ich versucht, das einfügen von SqlDateTime.Null, Nichts, und DBNull.Wert. SqlDateTime.Null ergibt den Wert 1/1/1900 in die Datenbank eingefügt. "Nichts" bewirkt, dass es zu legen 1/1/2001. Und wenn ich versuche, verwenden Sie DBNull.Wert, es sagt mir, dass es nicht in eine Zeichenfolge konvertiert werden, so dass ich vielleicht nicht etwas tun, ganz Recht. Jedenfalls, ich hatte gehofft, dass, wenn es nichts zum einfügen, die das Feld in Access würde leer bleiben, aber es scheint, dass es hat, um ihn zu füllen mit etwas...

BEARBEITEN:

Bekam ich DBNull.Wert zu arbeiten, und es tut fügen Sie ein komplett leerer Wert. So dies ist meine Letzte funktionierende code:

Dim hfDateRequestUpdated As HiddenField = FormView1.FindControl("hfDateRequestUpdated")
Dim myDateRequestUpdated = Nothing

If hfDateRequestUpdated.Value = Nothing Then
    myDateRequestUpdated = DBNull.Value
Else
    myDateRequestUpdated = DateTime.Parse(hfDateRequestUpdated.Value)
End If

Vielen Dank an alle!

  • Ich verstehe nicht, warum es war ein downvote auf diese Frage. Ich habe das umgedreht, aber ich bin immer noch verwirrt.
  • Ich schliesse mich, dies ist eine interessante Frage. Diese Datumsfelder immer mich beißen.
  • Könntest du ein code-Beispiel zeigen, wie Sie das einfügen der Daten?
  • Sorry, Sie haben nicht immer die Hilfe, die Sie brauchen. Die Lösung unten, dass Sie versucht zu implementieren geschrieben wurde, eine völlig andere Sprache. Sie sollten Ihren code zurück zu dem, was es war in der Zwischenzeit. Fühlen Sie sich frei, um downvote der Antwort zu helfen, andere Benutzer erkennen, dass es falsch ist. Sie werden eher um Hilfe zu erhalten wenn keine von Ihnen positiv bewertet werden Antworten auf diese Frage noch.
InformationsquelleAutor Sara | 2012-04-20
Schreibe einen Kommentar