2016-05-20 38 views
0

用戶可以使用以下代碼選擇日期,並且日期顯示在文本框中。刪除SQL Server的默認日期爲1/1/1900

<asp:TextBox ID="dateTB" runat="server" /> 
<asp:ImageButton ID="ib" ImageUrl="/calendar.png" ImageAlign="Bottom" runat="server" /> 
<asp:CalendarExtender ID="Cal1" PopupButtonID="ib" runat="server" TargetControlID="dateTB" Format="MM/dd/yyyy"> 
</asp:CalendarExtender> 

之後,我將該日期存儲在SQL Server數據庫中。

問題:當用戶沒有輸入日期時,SQL Server將默認存儲1/1/1900。

我該怎麼做,如果用戶離開空的日期字段,然後SQL Server不會存儲1/1/1900?

我試過了什麼:如果我檢查看到的是dateTB是空的。如果它是空的,那麼做一些事情然後插入數據庫。

If (String.IsNullOrEmpty(dateTB.Text)) Then 
    ' do something with dateTB?? 
End If 

我想要的發生:如果它是默認的日期(1/1/1900),那麼我想存儲NULL,而不是1/1/1900。

+0

你想要發生什麼? – codeMonger123

+0

我編輯我的問題 – user1924249

+0

如果您顯示用於將數據插入數據庫的代碼,那麼我們可能會更容易提供幫助。 –

回答

0
  1. 確保您的數據庫列支持NULL。
  2. 確保您的VB代碼正在傳遞您正在設置的值的DBNull。

既然你沒有一個完整的例子,我猜你用來存儲日期值的VB代碼中的字段是不可空的,所以它被設置爲默認值。你可以通過使用可爲空的類型來解決這個問題。不要使用魔法值; 1/1/1900是合法的日期。