gpt4 book ai didi

c# - DataTable.Columns.Clear 和列排序后的 DataAdapter.Fill NullReferenceException

转载 作者:行者123 更新时间:2023-11-29 14:44:55 26 4
gpt4 key购买 nike

我将 MySQL 与 C# 和 DataGridView 结合使用。

当用户单击一列对其进行排序,然后执行强制清除列的操作时,就会出现问题(当用户在使用复选框中勾选要查看的列时会发生此问题)。

实际的异常是在 dataAdapter.Fill(dt) 处引发的。

当用户不对实际列进行排序时,代码可以正常工作。在用户重新排列列后它也可以正常工作。

这是我的代码:

    public void GetDataAndFilter(string selectQuery, bool colChange)
{
using (var conn = connect())
{
MySqlCommand cmd = new MySqlCommand(selectQuery, conn);
dataAdapter = new MySqlDataAdapter(cmd);
dt.Clear();

if (colChange)
dt.Columns.Clear();

dataAdapter.Fill(dt);

conn.Close();
}
}

我已经尝试解决这个问题有一段时间了,但我已经没有想法了。

感谢您的宝贵时间,我很感激。

最佳答案

我认为最好清除以下行:

dt.Clear();

dt.Columns.Clear();

并再次实例化您的 dt,而不是清除其列及其本身。

dt = new DataTable();

希望这有帮助。

关于c# - DataTable.Columns.Clear 和列排序后的 DataAdapter.Fill NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7173449/

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