Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当select查询不返回任何行时,MySqlDataAdapter不清除DataTable?_C#_Mysql_Database - Fatal编程技术网

C# 当select查询不返回任何行时,MySqlDataAdapter不清除DataTable?

C# 当select查询不返回任何行时,MySqlDataAdapter不清除DataTable?,c#,mysql,database,C#,Mysql,Database,我不明白MySQL数据适配器填充方法是如何工作的。在我尝试从中填充数据表并清空MySQL表之前,一切都很正常。数据表没有被清除以反映空的MySQL表为什么 在我的数据库中,我有多个具有完全相同模式的表,但一个表是空的,另一个表有行 情景1: 假设我在一个空数据表上运行fill方法,并在一个MySQL表上运行select命令,其中数据表的行被相应地填充 情景2 假设我在现在有行的同一个数据表上运行Fill方法,但在另一个也有行但完全相同模式的MySQL表上运行select命令。数据表被清除和填充以

我不明白MySQL数据适配器填充方法是如何工作的。在我尝试从中填充数据表并清空MySQL表之前,一切都很正常。数据表没有被清除以反映空的MySQL表为什么

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

情景1:

假设我在一个空数据表上运行fill方法,并在一个MySQL表上运行select命令,其中数据表的行被相应地填充

情景2

假设我在现在有行的同一个数据表上运行Fill方法,但在另一个也有行但完全相同模式的MySQL表上运行select命令。数据表被清除和填充以反映这个新的MySQL表

情景3:


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

DataAdapter从数据库填充数据表

    DataAdapter da = new DataAdapter();
    DataTable dt = new DataTable();
    da.fill(dt);
如果dataAdapter为空,则不会填充dataTable。因此,您的数据表不会改变


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

我处理的是数据表,而不是数据集。数据表也是如此。好的,我不明白您说的如果我的dataadapter为null,您的意思是返回零行是什么意思。。下面是关于数据适配器如何工作的一个很好的解释,我放弃了。每次填充之前,我都会清理这些行。我尝试用一个MySQL表填充一个12行的数据表,填充方法没有清除数据表,但它只是更新了前两行,保留了其余的。哦,好吧: