我正在使用ASP.NET MVC,我正在尝试使用存储过程在SQL Server表中保存我的视图中的值。由于Date
属性存在问题,该过程无法正常工作的问题。我没有得到任何错误或异常但是当我调试时,调试器在打开SQL Server连接后直接捕获并且我可以捕获此异常:
SqlDateTime溢出。必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。
这是我在控制器中写的:
[HttpPost]
public ActionResult Save_Bestellung(Bestellung bs)
{
var errors = ModelState.Values.SelectMany(v => v.Errors);
try
{
if (ModelState.IsValid)
{
BestellungManagement bdb = new BestellungManagement();
if (bdb.AddBestellung(bs))
{
return View("~/Views/Bestellung/Index.cshtml");
ViewBag.Message = "Bestellung saved Successfully";
ModelState.Clear();
}
}
return RedirectToAction("Index");
}
catch
{
return JavaScript("alert('Order is Wrong ! Please verify your data !!')");
}
}
这是我的班级BestellungManagement
:
public bool AddBestellung(Bestellung bs)
{
try
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DeliveryCon"].ToString()))
{
using (SqlCommand cmd = new SqlCommand("AddNewBestellung", con))
{
cmd.Parameters.AddWithValue("@Date", bs.Date);
con.Open();
int i = cmd.ExecuteNonQuery();
con.Close();
if (i >= 1)
return true;
else
return false;
}
}
}
catch(Exception ex)
{
string e = ex.Message;
return false;
}
}
在模型Bestellung.cs
中,我有:
public DateTime Date { get; set; }
数据库架构:
[Date] DATETIME NOT NULL,
在视图中:
<label>DATE : </label>
<input id="datepicker" name="Text" type="text" value="mm/dd/yyyy" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'mm/dd/yyyy';}" required="">
datepicker功能:
<script>
$(function()
{
$("#datepicker").datepicker({ minDate: 0 });
});
</script>