【发布时间】:2015-03-20 21:10:06
【问题描述】:
我在 sql server 中有一个列(可为空,但它是日期时间)..
如果没有选择用户任何日期,我需要为此字段传递空值,我在下面做了这样的操作
protected void btnSubmit_Click(object sender, EventArgs e)
{
DateTime expiryDate;
DateTime? expDate = null;
if (chkExpDate.Checked == true)
{
expiryDate = Convert.ToDateTime(txtExpiryDate.Text);
}
else if (expDate.HasValue)
{
expiryDate = expDate.Value;
}
else
expiryDate = Convert.ToDateTime(DBNull.Value);
// here I am getting error like "object cannot be cast from DBNULL or value
如果我必须克服这个问题我需要做什么..如果用户没有被选择任何日期我需要传递空值我该怎么做..
有人可以帮忙解决这个问题吗。非常感谢
DAL
public bool ReAssignLicense(string certificateID, string serialNumber, string newEmail, string ticketID, string backupBy, string customerName, DateTime expDate)
{
List<SqlParameter> ParaList = new List<SqlParameter>();
ParaList.Add(new SqlParameter("@certificate", certificateID));
ParaList.Add(new SqlParameter("@certSN", serialNumber));
ParaList.Add(new SqlParameter("@newemail", newEmail));
ParaList.Add(new SqlParameter("@ticket", ticketID));
ParaList.Add(new SqlParameter("@bkpBy", backupBy));
ParaList.Add(new SqlParameter("@customer_name", customerName));
ParaList.Add(new SqlParameter("@exp_date", expDate));
return SqlHelper.ExecuteNonQuery(new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString),CommandType.StoredProcedure,"sp_Update",ParaList.ToArray()) > 0;
}
【问题讨论】:
-
不要忘记投票并标记为已接受......因为它对你有用。
标签: c# sql-server datetime null nullable