Right, I'd recommend getting Visual C# 2008 Express (unless you have access to a better edition) and the Training Kit from
here.
You can also get SQL Server 2005 Express for your database needs.
For database access, there's LINQ to SQL, which wraps your database in classes and lets you write something similar to select statements directly in your code:
code:
from customer in databaseContext.Customers
where customer.Town == 'London'
select customer;
LINQ gets way better than that, but that's the simplest implementation.
For displaying the data, you've got WPF, which uses an XML language to layout your form and can do all kinds of clever databinding. The LINQ to SQL stuff will also handle updating the database with the changes from the UI.
Dates and stuff are pretty easy. There's a DateTime type, and a TimeSpan as well, which make comparisons and calculations very easy.