【发布时间】:2022-06-14 22:25:16
【问题描述】:
我正在尝试从 SQL Server 获取两个日期之间的数据。
我用这个代码试试:
enter code here
con.Open();
DateTime dtdate1 = DateTime.Parse(dateTimePicker1.Text);
DateTime dtdate2 = DateTime.Parse(dateTimePicker2.Text);
SqlCommand cmd = new SqlCommand("Select * from Gestionale where Data between '"
+ dtdate1.ToString("dd/MM/yyyy") + "' and '" + dtdate2.ToString("dd/MM/yyyy")
+ "'", con);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
dt.Clear();
da.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Sort(this.dataGridView1.Columns[2], ListSortDirection.Descending);
con.Close();
但每次我搜索日期时,代码似乎都是按月、日和年搜索,而不是按日、月和年搜索。 Data 的 SQL 值是“varchar(50)”而不是“date”,因为对于其他事情,我需要它保持这种状态
【问题讨论】:
-
强文本不是代码...
-
"Data 的 SQL 值为 "varchar(50)"" 这是您应该修复的设计缺陷。 varchar is NOT a one size fits all data type.
标签: c# sql sql-server