Как передать нулевое значение в качестве даты и времени на SQL-сервер (уровень DAL)C#

Место общения программистов C#
Ответить
Anonymous
 Как передать нулевое значение в качестве даты и времени на SQL-сервер (уровень DAL)

Сообщение Anonymous »

У меня есть столбец (с нулевым значением, но это Datetime) на SQL-сервере.
Если пользователь не выбрал какую-либо дату, мне нужно передать нулевое значение для этого поля, для этой цели я сделал это следующим образом:
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 ParaList = new List();
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;
}


Подробнее здесь: https://stackoverflow.com/questions/280 ... -dal-layer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»