使用c#, SQL数据库,如何

本文关键字:如何 数据库 SQL 使用 | 更新日期: 2023-09-27 18:19:00

我有一个小问题。我使用了dateTimePicker,并创建了一个日历。

    private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
        DateTime varDate;
        varDate = dateTimePicker1.Value; 
    }

我创建了一个名为submit的按钮。我的任务是当一个日期被选中,并单击按钮,它应该显示记录从数据库上的数据网格,直到选定的日期。例如,如果我选择12.28.2011,那么它应该显示小于该日期的所有记录。我已经创建了数据库连接和所有。但是我们怎么比较日期呢?

关于这一点,请给我一些建议。非常感谢您花时间阅读这个问题

使用c#, SQL数据库,如何

也许这样做会有所帮助:

string query = "SELECT * FROM YourTable WHERE dateField < @dateParameter";
SqlCommand sqlCommand = new SqlCommand(query, yourConnection);
sqlCommand.Parameters.Add("dateParameter", SqlDbType.DateTime).Value = dateTimePicker1.Value;

var filteredList = yourFullList.Where(x=>x.date<dateTimePicker1.Value);

这取决于您是从数据库中加载所有数据还是只想从数据库中加载到给定日期的数据。

如果你采用第一种方法,那么你可以使用DateTime对象来保存你的日期,并将它们与你已有的日期进行比较。这样做的好处是,您只需要使用一个数据库连接来加载所有数据,但您必须将其保存在内存中,如果有很多数据,您可能会加载太多。这将创建快速分页,例如:

如果你使用第二种方法,那么你应该改变你的sql -query有一个where子句来防止DB根据你的语句加载任何日期,在这里阅读更多关于sql的内容。这将只给您实际想要显示的记录,但是如果更改日期,它将迫使您打开更多的DB连接,这会减慢分页速度等。