У меня есть запрос, который обновляет определенную таблицу в моей базе данных, в которой я присваиваю ему параметр, последний принимает значение textbox.text, если значение не равно нулю, он работает просто отлично, если это так, яполучить это сообщение об ошибке «При преобразовании строки в DateTime проанализируйте строку, чтобы взять дату, прежде чем помещать каждую переменную в объект DateTime».
Мой вопрос: какой тип приведения следует использовать, чтобы избежать использованияоператора If?
SqlCommand loadbonus = new SqlCommand()
loadbonus.Connection = conn;
loadbonus.CommandText = "UPDATE Client SET [Restant Bonus]=[Restant Bonus]-(SELECT SUM([Prix Total]) FROM Comptoir WHERE [N° Comptoir]='" + tabcontrol.SelectedIndex + "'),[Total Consommé]=[Total Consommé]+(SELECT SUM([Prix Total]) FROM Comptoir WHERE [N° Comptoir]='" + tabcontrol.SelectedIndex + "') OUTPUT INSERTED.[Restant Bonus] WHERE [Code Client]=@CodeClient";
loadbonus.Parameters.Add("@CodeClient", SqlDbType.Int).Value = Convert.ToInt32(clientcodecomptoire.Text);
Фактическое сообщение об ошибке:
"При преобразовании строки в DateTime анализируйте строку, чтобы взять дату, прежде чем помещать каждую переменную в объект DateTime" *
Я пробовал следующий кастинг, и он не работал:
loadbonus.Parameters.Add("@CodeClient", SqlDbType.Int).Value = Convert.ToInt32(clientcodecomptoire.Text)??DBNull.Value;