如何在两个日期之间填充列表视图 vb.net

How to populate a listview between two dates vb.net

我正在编写一个代码来过滤两个选定日期之间的列表视图数据。代码不工作,我没有找到让它在列表视图中工作的方法,尽管它在数据网格上工作。

listavalor.Items.Clear()
Dim dt As New DataTable
Dim ds As New DataSet
ds.Tables.Add(dt)
Dim coiso As New MySqlCommand("SELECT * FROM custospessoais WHERE CUS_DATA BETWEEN '" &
     Format(datapicker1.Value, "dd-MM-yyyy") & "' AND '" &
     Format(datapicker2.Value, "dd-MM-yyyy") & "' CUS_ID;")
Dim da As New MySqlDataAdapter(coiso)
da.Fill(dt)
Dim coluna As DataRow
For Each coluna In dt.Rows
    listavalor.Items.Add(coluna.Item(0))
    listavalor.Items(listavalor.Items.Count - 1).SubItems.Add(coluna.Item(1))
    listavalor.Items(listavalor.Items.Count - 1).SubItems.Add(coluna.Item(2))
    listavalor.Items(listavalor.Items.Count - 1).SubItems.Add(coluna.Item(3))
Next
  1. 在数据库中使用日期或日期时间类型而不是文本类型来存储日期。
  2. 使用命令参数。这使得代码不受格式问题和 SQL 注入的影响。
  3. 如果您不遵循 1. 和 2. 的建议,至少使用倒数日期格式 yyyy-MM-dd。
    1. 如果日期存储为文本,它仍然可以正确排序和比较。
    2. 美国式日期 MM-dd-yyyy 没有问题。

另请参阅:MySQL Data Types