在给定的截止日期之后仍未归还书籍时,我该如何计算罚款?如果确实没有归还这本书,我想每天增加5分的罚款。
到目前为止我已经尝试过
public void CalculateFine()
{
DateTime dueDate = new DateTime();
DateTime returnDate = new DateTime();
dueDate = frmissue.dtDueDate.Value;
returnDate = DateTime.Now;
TimeSpan diff = returnDate.Subtract(dueDate);
int days = diff.Days;
fine = days * 5;
cn.Open();
cm = new SqlCommand("INSERT INTO tblFine VALUES (@borrowID, @studentID, @totalFine)", cn);
cm.Parameters.AddWithValue("@borrowID", lblID.Text);
cm.Parameters.AddWithValue("@studentID", lblStudentID.Text);
cm.Parameters.AddWithValue("@totalFine", fine);
cm.ExecuteNonQuery();
cn.Close();
}
当我单击归还书按钮时,它对我有用,但是如果没有过期罚款,即使我在到期日之前归还书,它也会计算并在其中插入 -35 之类的罚款。我的专栏totalFine。我不想有一个负值,相反,如果书在给定的到期日或之前归还,我希望有0个值。
由于我是编程新手,所以我尝试搜索并且无法完全理解其中的一些内容。
答案 0 :(得分:3)
if(fine < 0)
{
fine = 0;
}
只需将这些代码添加到cn.Open();