当select查询没有返回任何行时,MySqlDataAdapter不会清除DataTable?

时间:2013-12-24 08:17:08

标签: c# mysql database

我不明白MySQL Data Adapter Fill方法是如何工作的。一切都工作正常,直到我尝试填充数据表并清空MySQL表。数据表没有被清除以反映空MySQL表为什么?

在我的数据库中,我有多个具有完全相同模式的表,但是一个表为空,另一个表有行。

情景1:

假设我在空数据表上运行fill方法,在带有行的MySQL表上运行select命令相应地填充数据表。

方案2

假设我在相同的数据表(现在有行)上运行Fill方法,但是我在另一个MySQL表上运行select命令,该表也有行,但具有相同的精确模式。数据表被清除并填充以反映这个新的MySQL表。

方案3:

假设我在相同的数据表(现在有行)上运行Fill方法但是我在不同的MySQL表上运行select命令,没有行但是具有相同的精确模式。数据表没有被清除以反映空MySQL表为什么?

1 个答案:

答案 0 :(得分:0)

DataAdapter从数据库中填充数据表。

    DataAdapter da = new DataAdapter();
    DataTable dt = new DataTable();
    da.fill(dt);

如果您的dataAdapter为null,则不会填充dataTable。因此你的dataTable不会改变。

但是您可以使用dt.Clear()方法清除数据表。