【发布时间】:2015-04-25 20:25:42
【问题描述】:
我有一个 DataGridView 和一个搜索框,我可以在其中搜索特定列中的不同日期。现在由于日期格式为字符串,他会给我错误的顺序:
我输入 20 得到:
2014 年 10 月 20 日,
22.09.2014,
2014 年 11 月 24 日
等等。我在这里阅读了有关此问题的另一个线程,但解决方案对我没有帮助。我的 SQL 语句如下所示:
DataTable datTable = new DataTable();
sqlCmd = new SqlCommand("SELECT ["+form1.timeBox.Text+ "] FROM [" + form1.getTableName() + "] WHERE convert(varchar(10),[" + form1.getTimeCol() + "],104) >= '" + form1.getFromDate().Trim() + "' ORDER BY convert(varchar(10),[" + form1.getTimeCol() + "],104) ASC", connection);
sqlDatAdapter = new SqlDataAdapter(sqlCmd.CommandText, connection);
sqlDatAdapter.Fill(datTable);
form1.setDataGrid = datTable;
和
form1.getFromDate()
是从文本框中获取输入的字符串以进行搜索的函数。我试图转换并转换为日期时间等等,但它仍然以错误的顺序显示。有人可以帮忙吗?
【问题讨论】:
-
您用来排序结果集的列的数据类型是什么?请发布一些原始数据。
-
列的数据类型是“日期”。为了搜索它,我将它转换为 varchar(见上文)。但是如何让他以正确的顺序显示日期呢?
标签: sql winforms date datagridview