无法将字符串转换为System.DateTime类型

3

我正在尝试使用日期时间选择器获取日期范围,并在报告查看器中显示。添加控件后,出现了日期起始和日期结束字段的错误。

我的代码如下,我正在使用C# Winform的MetroUI框架:

this.visit_dbTableAdapter.Fill(this.VisitDateSet.visit_db,dateFrom.Text,dateTo.Text);
        this.reportViewer1.RefreshReport();

已经将dateFrom和dateTo重命名为其他名称。

它返回的错误如下:

Cannot convert from string to System.DateTime

听起来.Fill()想要一个DateTime对象而不是时间的字符串表示,你试过.Fill(this.VisitDateSet.visit_db, DateTime.Parse(dateFrom.Text), DateTime.Parse(dateTo.Text));吗? - Equalsk
@Equalsk,谢谢,这很有效!DateTime.Parse()能做什么? - Lamar
只要运行DateTime.Parse()的机器具有适当的区域设置,它就会接受一个字符串并尝试将其转换为实际的DateTime。将其放入您喜欢的搜索引擎中,有很多指南... - Equalsk
1个回答

2

请进行以下更改

this.visit_dbTableAdapter.Fill(this.VisitDateSet.visit_db,Convert.ToDateTime(dateFrom.Text.Trim()),Convert.ToDateTime(dateTo.Text.Trim()));
this.reportViewer1.RefreshReport();

直接将文本放置在DateTime值的位置通常会引发错误,因为.Fill方法期望DateTime值作为数据库中列的DataType


@SoumenMukherjee 我总是喜欢人们渴望得到答案,但不那么热衷于投票和标记答案 :) - rmjoia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接