当尝试在gridview中按日期范围对数据表进行排序时,出现以下错误: 字符串未被识别为有效的DateTime." AccessDateFrom和To是日期选择器. 顺便说一句,请帮帮我,我是新手,如果对我来说这是一个简单的错误,对不起. 我的代码: 私有子ReportGen_Click(发送者为System.Object,e为System.EventArgs)处理ReportGen.Click ProjectRef = ProjectRefInput.Text AppNameSelect = ApplicationSelection.Text AccessDateFrom = DateFrom.Text AccessDateTo = DateTo.Text ''从系统中收集数据 用户名= System.Security.Principal.WindowsIdentity.GetCurrent.Name ComputerName = Environment.MachineName AccessTime = Date.Today AppName = My.Application.Info.AssemblyName 试试 使用cnn作为新的OleDbConnection(ConnString) cnn.Open() 使用cmd作为新的OleDbCommand(DbUpdate,cnn) cmd.Parameters.AddWithValue("AccessDate",AccessTime) cmd.Parameters.AddWithValue("UserName",用户名) cmd.Parameters.AddWithValue("ComputerName",ComputerName) cmd.Parameters.AddWithValue("AppName",AppName) cmd.ExecuteNonQuery() 将SelectQuery用作新的OleDbCommand(DbSelect,cnn) SelectQuery.Parameters.AddWithValue("AppName",AppNameSelect) 将结果表昏暗为新的OleDb.OleDbDataAdapter(SelectQuery) 将DataTable变暗为新DataTable("App_Results") ResultsTable.Fill(DataTable) 将DTFilterDate设置为DataView =新DataView(DataTable) DTFilterDate.RowFilter ="AccessDate> =#"&AccessDateFrom&和AccessDate< ="&AccessDateTo" ResultsTable.Fill(DataTable) DataGridView1.DataSource = DTFilterDate 最终使用 最终使用 cnn.Close() cnn.Dispose() 最终使用 异常捕获 ''无法找到或更新数据库 错误编号= 2 调用ErrorCodeHandle() 结束尝试 RowCounter = DataGridView1.RowCount TotalRecords.Text = RowCounter 结束Sub
I get the following error when trying to sort my datatable by date range in a gridview: ''String was not recognized as a valid DateTime.'' AccessDateFrom and To are datepickers. Any help please BTW I''m new to this so sorry if its a simple mistake on my part. My code: Private Sub ReportGen_Click(sender As System.Object, e As System.EventArgs) Handles ReportGen.Click ProjectRef = ProjectRefInput.Text AppNameSelect = ApplicationSelection.Text AccessDateFrom = DateFrom.Text AccessDateTo = DateTo.Text ''Collect the data from the system Username = System.Security.Principal.WindowsIdentity.GetCurrent.Name ComputerName = Environment.MachineName AccessTime = Date.Today AppName = My.Application.Info.AssemblyName Try Using cnn As New OleDbConnection(ConnString) cnn.Open() Using cmd As New OleDbCommand(DbUpdate, cnn) cmd.Parameters.AddWithValue("AccessDate", AccessTime) cmd.Parameters.AddWithValue("UserName", Username) cmd.Parameters.AddWithValue("ComputerName", ComputerName) cmd.Parameters.AddWithValue("AppName", AppName) cmd.ExecuteNonQuery() Using SelectQuery As New OleDbCommand(DbSelect, cnn) SelectQuery.Parameters.AddWithValue("AppName", AppNameSelect) Dim ResultsTable As New OleDb.OleDbDataAdapter(SelectQuery) Dim DataTable As New DataTable("App_Results") ResultsTable.Fill(DataTable) Dim DTFilterDate As DataView = New DataView(DataTable) DTFilterDate.RowFilter = "AccessDate >= #" & AccessDateFrom & " and AccessDate <= " & AccessDateTo & "#" ResultsTable.Fill(DataTable) DataGridView1.DataSource = DTFilterDate End Using End Using cnn.Close() cnn.Dispose() End Using Catch ex As Exception ''Unable to find or update the database Err.Number = 2 Call ErrorCodeHandle() End Try RowCounter = DataGridView1.RowCount TotalRecords.Text = RowCounter End Sub
推荐答案检查AccessDateFrom 和AccessDateTo是否包含适当的日期时间值. 您可以使用DateTime.TryParse [ ^ ]这样做. Check if AccessDateFrom and AccessDateTo contain appropriate date time values. You can use DateTime.TryParse[^] to do so.
更多推荐
用daterange对DatagridView进行排序
发布评论