我有一个带有datagridview的应用程序,我直接从数据库绑定信息,我有一个名为deadline
的DateTime类型的列,此列保存截止日期。
在我的C#应用程序中,我正在迭代datagridview中的所有行并获取包含截止日期的特定列,然后我更新它,如:
public void reformatDates() {
string endDate = null;
foreach (DataGridViewRow rw in dataGridView1.Rows)
{
endDate = rw.Cells[5].Value.ToString();
rw.Cells[5].Value = getCountDown(endDate);
}
}
函数getCountDown(DateTime endDate)
以天数,小时和分钟的形式将倒计时作为字符串。
一切都按预期工作,但是我正在迭代所有行。如果我有大量行说5000行怎么办?我是否需要遍历所有这些并更新每个单元格?
我用来绑定数据库中的信息的函数是Bind(string sqlquery),我现在正在调用它:
Bind("SELECT statut,title,deadline FROM taches WHERE 1");
有什么方法可以直接从数据库中获取倒计时(天,小时和分钟)我的意思是这样的
伪码:
Bind("SELECT statut,title,(DateNow-deadline) FROM taches WHERE 1");
任何帮助都将受到高度赞赏。谢谢你
答案 0 :(得分:0)
如果我理解正确,这就是你想要的:
Bind("SELECT statut,title,TimeDiff(sysdate(),deadline) FROM taches WHERE 1");
完整参考:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_sysdate