我使用了DATEDIFF函数,但是因为它需要yyyy / mm / dd这个代码给出了错误的值,因为我已经在日期时间选择器中存储了日期,月份,dd,yyyy
private void button3_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();
DBHandling db = new DBHandling();
db.GetDataset(" select JoiningDate from Emp where name = '" + textBox2.Text + "'", ref ds);
db.GetDataset(" select LeavingDate from AddDate where name = '" + textBox2.Text + "'", ref ds1);
string date1, date2;
date1 = ds.Tables[0].Rows[0][0].ToString();
date2 = ds1.Tables[0].Rows[0][0].ToString();
db.GetDataset("select DATEDIFF(day,2008/1/15,2008/1/12) ", ref ds2);
textBox5.Text = ds2.Tables[0].Rows[0][0].ToString();
}
所以我该如何做到这一点,我将向右转两个日期之间的差异,即两个日期之间的天数,提前感谢
答案 0 :(得分:1)
我建议查找Timespan。
获取两个日期,然后使用时间跨度从另一个中减去一个。然后,timepan对象可以告诉你有多少秒,天,小时等......差异是多少。
如果日期采用两种不同的格式,则将它们转换为相同的格式。您可以使用CAST或CONVERT或使用C#在SQL中执行此操作。
这是一个很好的link on formatting dates.
此外,您的SQL对SQL注入攻击持开放态度。您应该至少使用参数化查询。
答案 1 :(得分:1)
您可以使用Time Period Library for .NET的 DateDiff 工具。