Итак, я делаю небольшую версию менеджера инвентаризации библиотеки. У меня есть метод, который должен вызвать базу данных, взять одно значение DateTime и сравнить его с сегодняшней датой. У меня есть таблица с арендованными книгами, и в каждой строке есть значение "rented_till". Мой цикл должен проходить через каждую строку, а мой метод должен сравнивать эти значения. Проблема в том, что это не работает, и даже мои флаги не работают
Я пытался использовать точки разрыва, но даже их я вижу, что компилятор пропускает мой код.
Это что-то новое для меня, так как я никогда не делал этого, может быть, я что-то делаю неправильно. Я не мог найти подобную проблему. Вы можете увидеть мой метод ниже.
public void CheckBooks()
{
OverdueBooksDAL obDAL = new OverdueBooksDAL();
DataTable dt = new DataTable();
dt = obDAL.RentedBooks();
int rows = dt.Rows.Count;
DateTime today = DateTime.Now;
for (int i = 0; i < rows; i++)
{
DateTime rented_till = Convert.ToDateTime(dt.Rows[i]["rented_till"]);
int result = DateTime.Compare(today, rented_till);
if (result > 0)
{
OverdueBook OB = new OverdueBook();
OB.Id = Int32.Parse(dt.Rows[i]["id"].ToString());
OB.Title = dt.Rows[i]["title"].ToString();
OB.Rented_Till = Convert.ToDateTime(dt.Rows[i]["rented_till"]);
string fullname = dt.Rows[i]["name"].ToString() + dt.Rows[i]["surname"].ToString();
OB.Rented_By = fullname;
OverdueBooksDAL obeDAL = new OverdueBooksDAL();
if (obeDAL.InsertOverduebooks(OB))
{
MessageBox.Show("There are new books overdue");
}
}
}
Программа компилируется и все остальные ее части работают. Я проверил таблицы, и они получают данные из базы данных.