1

データベースに null 許容の日付があります。LinqDataSource で接続し、FormView でバインドしています。日付をうまく配置できますが、日付を削除する場合は、null 値をデータベースに挿入する必要があります。代わりに例外をスローしています。

<asp:TextBox ID="TxtStartDate" runat="server" 
                    Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}") %>' />

日付を入れると問題なく動作しますが、日付を削除して保存すると、System.Data.SqlTypes.SqlTypeException: SqlDateTime オーバーフローが発生します。1753 年 1 月 1 日 12:00:00 AM から 9999 年 12 月 31 日 11:59:59 PM の間である必要があります。nullを送信するにはどうすればよいですか?

4

1 に答える 1

2

それが最善の方法だったかどうかはわかりませんが、FormView Updating イベントにサブスクライブして次のコードを配置することで修正しました。

object o = e.NewValues["StartDate"];
   if (o.ToString() == "")
       e.NewValues["StartDate"] = null;
于 2008-11-12T06:49:03.593 に答える