Windowsフォームにテキストボックスがあります。それらのいくつかについては、最初に保存される日付がありません。テキスト ボックスにバインドされた SQL フィールドの型は日付です。新しいレコードを保存しようとすると、System.Data.SqlTypes.SqlTypeException が発生します。
SqlDateTime オーバーフロー。1753 年 1 月 1 日 12:00:00 AM から 9999 年 12 月 31 日 11:59:59 PM の間である必要があります。
日付フィールドに入力する日付がまだない場合、このレコードを保存するにはどうすればよいですか?
これは私が使用しているコードです
public static bool UpdateEngOrd(EngOrd oldEngOrd, EngOrd newEngOrd)
{
SqlConnection cnn = SqlDB.GetConnection();
string strsql =
"UPDATE EngOrd SET " +
"filetype = @newfiletype, reqmeetdue = @newreqmeetdue " +
"WHERE eo = @oldeo";
SqlCommand cmd = new SqlCommand(strsql, cnn);
cmd.Parameters.AddWithValue("@newfiletype", newEngOrd.FileType);
if (newEngOrd.ReqMeetDue == DateTime.MinValue)
cmd.Parameters.AddWithValue("@newreqmeetdue", DBNull.Value);
else
cmd.Parameters.AddWithValue("@newreqmeetdue", newEngOrd.ReqMeetDue);
cmd.Parameters.AddWithValue("@oldeo", oldEngOrd.EO);
try
{
cnn.Open();
int count = cmd.ExecuteNonQuery();
if (count > 0)
return true;
else
return false;
}
catch (SqlException ex)
{
throw ex;
}
finally
{
cnn.Close();
}
}