У меня проблема в том, что если я ищу данные через TextBox
, а данные не существуют в базе данных, я получаю ошибку
'Объект не может быть приведен из DBNull к другим типам.'
Я пытаюсь заставить MessageBox
сказать, что данные не существуют и не могу понять, как это сделать.
Я попытался использовать оператор if
, где, если TextBox
равно DBNull
, то появляется MessageBox
. t work and im not too sure why. The error occurs with me trying to **equal** to
DBNull . How do i produce a
TextBox` это говорит, что данные не существуют?
{
SqlConnection con = new SqlConnection("***COnString**");
con.Open();
SqlCommand comm = new SqlCommand("SELECT SUM (Total_Hours_Day) FROM Sign_In_Out_Table, User_Table WHERE User_Table.FirstName = '" + Search_Username_Alerts_Admin_txtbox.Text + "' AND Sign_In_Out_Table.eb_number = User_Table.eb_number AND Date between GETDATE()-14 and GETDATE()", con);
decimal TotalHoursFortnight = Convert.ToDecimal(comm.ExecuteScalar());
con.Close();
decimal sum = 0;
sum += Convert.ToDecimal(TotalHoursFortnight);
if (Search_Username_Alerts_Admin_txtbox.Text == DBNull)
{
MessageBox.Show("No Data Exists");
}
else
{
MessageBox.Show(Search_Username_Alerts_Admin_txtbox.Text + ":" + Environment.NewLine + " Hours Worked = " + TotalHoursFortnight, ("Working Info Admin"), MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
Мой ожидаемый результат для появившегося окна сообщения о том, что данные не найдены, если их искать. но если это произойдет, данные отобразятся в окне сообщения.