Mam FormView, gdzie pobierają dane z jednej tabeli (MS Access), a następnie wstawić (plus więcej danych) do innej tabeli. Mam problemy z datami.Wstawianie pustych wartości do pól daty?
Pierwsza tabela ma dwa pola daty: date_submitted
i date_updated
. W niektórych rejestrach date_updated
jest puste. Powoduje to, że podczas próby wstawienia do drugiej tabeli wystąpił błąd niedopasowania danych.
Może to wynikać z faktu, że odszukuję pola date_updated
z pierwszej tabeli na pole HiddenField w FormView. Następnie przyjmuje wartość od HiddenField i próbuje włożyć ją do drugiej tabeli:
Dim hfDateRequestUpdated As HiddenField = FormView1.FindControl("hfDateRequestUpdated")
myDateRequestUpdated = hfDateRequestUpdated.Value
'... It then attempts to insert myDateRequestUpdated into the database.
To działa, gdy istnieje jakaś wartość, ale widocznie nie można wkładać nic do pola daty/czasu w programie Access . Przypuszczam, że mógłbym wykonać drugą instrukcję wstawiania, która nie wstawi się do date_updated
(do użycia, gdy nie ma wartości w date_updated
), ale czy to jedyny sposób, aby to zrobić? Wydaje się, że powinien istnieć łatwiejszy/mniej zbędny sposób.
EDIT:
Ok. Więc próbowałem wstawiania SqlDateTime.Null, Nic i DBNull.Value. SqlDateTime.Null powoduje wstawienie wartości 1/1/1900 do bazy danych. "Nic" powoduje, że wstawia się 1/1/2001. I jeśli spróbuję użyć DBNull.Value, mówi mi, że nie można go przekonwertować na ciąg znaków, więc może nie zrobiłem czegoś całkiem odpowiedniego. W każdym razie, mam nadzieję, że jeśli nie było nic do wstawienia że pole w programie Access pozostanie puste, ale wydaje się, że musi wypełnić go z czymś ...
EDIT:
I ma wartość DBNull.Value do pracy i wstawia całkowicie pustą wartość. Oto mój ostatni działający kod:
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
Dziękuję wszystkim!
ja nie rozumiem, dlaczego nie było downvote na to pytanie. Odwróciłem to, ale nadal jestem zakłopotany. – Fionnuala
Zgadzam się, to interesujące pytanie. Te pola daty zawsze mnie kąsają. – Steve
Czy możesz dodać przykład kodu pokazujący sposób wstawiania danych? – phoog