Студент может запросить один билет на 6 месяцев. - PullRequest
0 голосов
/ 05 мая 2020

У меня есть небольшой проект, в котором говорится, что студенту разрешено запрашивать один билет каждые 6 месяцев. Вот коды, которые я написал, и я расскажу о проблеме, с которой я столкнулся.

using (var Con = new SqlConnection(@"Data Source = root\SQLEXPRESS; Initial Catalog =Log-In; Integrated Security = True"))
        {
            Con.Open();
            var table = "INSERT INTO  Student(username,DepartureCiry,ArrivalCity,DateOfDeparture,DateOfReturn)VALUES(@username,@DepartureCiry,@ArrivalCity,@DateOfDeparture,@DateOfReturn)";

            using (var cmd = new SqlCommand(table, Con))
                {
                var newDep = "Select DateOfDeparture from Student where username=@username";
                var departValue = new SqlCommand(newDep, Con);
                departValue.Parameters.AddWithValue("@username", username);
                var dataFromDatabase = Convert.ToDateTime(departValue.ExecuteScalar());
                var newStudent = Convert.ToDateTime(date_time_picker.Text);
                var diff = (newStudent - dataFromDatabase);
                MessageBox.Show(diff.ToString());
                if (diff.TotalDays < 180)
                {
                    MessageBox.Show("you exceed you're booking for the last 6 monthes");
                }
                else
                {
                    MessageBox.Show("request has been sent suckssfully");
                }

                cmd.Parameters.AddWithValue("@username", username);
                cmd.Parameters.AddWithValue("@DepartureCiry", fromtxt.Text);
                cmd.Parameters.AddWithValue("@ArrivalCity", Totxt.Text);
                cmd.Parameters.AddWithValue("@DateOfDeparture", date_time_picker.Text);
                cmd.Parameters.AddWithValue("@DateOfReturn", date_time_picker1.Text);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Data inserted suckssfully");
            }

Ошибка:

Дополнительная информация: Невозможно привести объект типа System.TimeSpan к типу System.IConvertible

1 Ответ

2 голосов
/ 05 мая 2020

Хотя вы действительно должны сообщить нам, я собираюсь предположить, что исключение происходит в этой строке:

int diffrance = Convert.ToInt32(diff);

Вы должны полностью удалить эту строку и заменить ваш оператор if на :

if (diff.TotalDays > 180)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...