gpt4 book ai didi

c# - 在 datagridview 中显示按当前日期过滤的数据 C#

转载 作者:行者123 更新时间:2023-11-29 23:33:18 25 4
gpt4 key购买 nike

我的数据库中有大量行。当我尝试将所有数据加载到 datagridview 时,它被卡住了。我想将数据加载到仅与 datetimepicker 日期相关的 datagridview 。这是我当前的代码

private void showdatagrid()
{
string constring = string.Format("datasource='{0}';username=uwadminview;port=3306;password=*****************;Connect Timeout=20000;Command Timeout=28800", dbserverip.Text);
MySqlConnection conwaqDatabase = new MySqlConnection(constring);
MySqlCommand cmdwaqDatabase = new MySqlCommand(" select * from waq115.loans ; ", conwaqDatabase);

try
{
MySqlDataAdapter sda = new MySqlDataAdapter();
sda.SelectCommand = cmdwaqDatabase;
dbdataset = new DataTable();
sda.Fill(dbdataset);
BindingSource bsource = new BindingSource();
bsource.DataSource = dbdataset;
dataGridView1.DataSource = bsource;
sda.Update(dbdataset);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
conwaqDatabase.Close();
}

然后在我调用此函数后不久,我再次使用像这样的 rowfilter 事件

private void filterdata()
{
DataView DV = new DataView(dbdataset);
DV.RowFilter = string.Format("Convert(submittimestamp, System.String) LIKE '%{0}%'", adminviewDTP.Text);
dataGridView1.DataSource = DV;
}

但是在这种方法中,当加载超过 9000 行时,性能非常糟糕,它会一直卡住。我想要直接从数据库查询仅与今天相关的数据的方法

(用户每天更新数据库,每天插入超过 500 行)(应用仍处于测试阶段)(我使用的是mysql数据库)

有人可以告诉我任何有效的方法吗?

最佳答案

MySqlCommand cmdwaqDatabase = new MySqlCommand("SELECT * FROM waq115.loans WHERE DATE(submittimestamp) = DATE(NOW())", conwaqDatabase);

更新:带参数:

MySqlCommand cmdwaqDatabase = new MySqlCommand("SELECT * FROM waq115.loans WHERE DATE(submittimestamp) = DATE(@p)", conwaqDatabase);

然后你可以添加如下参数

cmdwaqDatabase.Parameters.AddWithValue("@P", dateTimeValue); // convert datetime picker value to DateTime and set as the value;

cmdwaqDatabase.Parameters.Add(new MySqlParameter("@P", MySqlDbType.Timestamp)).Value = dateTimeValue;

关于c# - 在 datagridview 中显示按当前日期过滤的数据 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26469589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com