美好的一天。 我是asp.net/c#/linq/etc中的新手,我试图弄清楚这一切。 但它需要做一个小项目。
在我看来,我有一个带有日期时间/字符串值的表,我需要将这些值插入到mssql数据库中。
在视图上我有几个Html.TextBox' es。通过单击按钮,TextBox将按当前日期时间填充。 查看标题(JS):
<script type="text/javascript">
function setDate(boxID) {
var dateNow = new Date();
var dd = dateNow.getDate();
var mm = dateNow.getMonth() + 1;
var yy = dateNow.getFullYear();
var hh = dateNow.getHours();
var MM = dateNow.getMinutes();
var ss = dateNow.getSeconds();
if (dd < 10) { dd = '0' + dd }
if (mm < 10) { mm = '0' + mm }
if (MM < 10) { MM = '0' + MM }
if (ss < 10) { ss = '0' + ss }
var today = dd + '-' + mm + '-' + yy + ' ' + hh + ':' + MM + ':' + ss;
document.getElementById(boxID).value = today;
}
</script>
查看正文:
<div class="divTableCell">
@Html.TextBox("p1_t1")
<input type="button" value="OK" onclick='setDate("p1_t1")' />
</div>
<div class="divTableCell">
@Html.TextBox("p1_notice")
</div>
<button id="result "type="submit">Insert data</button>
单击最后一个按钮,我试图将此值插入外部数据库。表包含列p1_notice varchar(250)和p1_t1 datetime;
控制器:
public ActionResult EntranceInspection()
{
return View();
}
EntranceInspectionTableDataContext d = new EntranceInspectionTableDataContext();
public ActionResult EntranceInspectionResult()
{
EntranceInspection s = new EntranceInspection();
s.p1_notice = Request["p1_notice"]; // to SQL - ok
s.p1_t1 = Request["p1_t1"]; // error convert string to datetime
d.EntranceInspection.InsertOnSubmit(s);
d.SubmitChanges();
return View("EntranceInspection");
}
是否有任何可接受的方法将文本框中的值转换为datetime并插入datetime-column?或者我需要在开始时做一些不同的事情?
THX
答案 0 :(得分:0)
您应该将文本值输入到日期时间,如下所示。
s.p1_t1 = Convert.ToDateTime(Request["p1_t1"]);
这将帮助您在数据库中插入日期时间值而不会出错。
答案 1 :(得分:0)
您必须将文本值转换为日期时间:
s.p1_t1 = Convert.ToDateTime(Request["p1_t1"]);
这将帮助您在数据库中插入日期时间值而不会出现错误。但是,如果在数据库中该字段不是nullabe,那么pin_t1没有空值可能对您有用。 如果它是nullabe,您应该插入datemin值或其他符合您业务要求的值。
答案 2 :(得分:-2)
您可以尝试以下代码
public ActionResult EntranceInspectionResult()
{
EntranceInspection s = new EntranceInspection();
s.p1_notice = Request["p1_notice"]; // to SQL - ok
s.p1_t1 = Convert.ToDateTime(Request["p1_t1"]);
d.EntranceInspection.InsertOnSubmit(s);
d.SubmitChanges();
return View("EntranceInspection");
}