返回'String was not recognized as a valid DateTime.'的日期时间变量



我有一个accdb数据库文件,ExpiryDate设置为DATETIME。数据网格视图的格式为dd/MM/yyyy。我正试图过滤到日期之间的绑定,如下所示:

private void button1_Click(object sender, EventArgs e)
{
DateTime srchDateTo = DateTime.Today.AddMonths(1);
DateTime srchDateFrom = DateTime.Today.AddMonths(-11);
client1BindingSource.Filter = "ExpiryDate < #" + srchDateTo + "# And ExpiryDate > #" + srchDateFrom + "#";
}

当我单击按钮时,我得到:"字符串未被识别为有效的DateTime。">

我放了一个消息框,变量的格式是正确的。

这是我的第一个数据库,我有很多东西要学,所以在研究回复之前,我可能无法理解回复。

我的理解是,在将DateTime粘贴到过滤器中之前,需要对其进行格式化。

请在DateTime变量的末尾尝试.ToString("dd/MM/yyyy")

例如:

client1BindingSource.Filter = "ExpiryDate < #" +
DateTime.Today.AddMonths(1).ToString("dd/MM/yyyy") + "# And ExpiryDate > #" + 
DateTime.Today.AddMonths(-11).ToString("dd/MM/yyyy") + "#";

快乐编码:(

我发现不是有效日期时间的字符串是字段标题。答案是使用字符串变量,而不是日期时间变量。

string srchDateTo = DateTime.Today.AddMonths(1).ToString("dd/MMM/yyyy");
string srchDateFrom = DateTime.Today.AddMonths(-11).ToString("dd/MMM/yyyy");
client1BindingSource.Filter = "ExpiryDate < #" + srchDateTo + "# And ExpiryDate > #" + srchDateFrom + "#";

最新更新