怎么清除DataSet中的DataTable里的数据?
我有几个问题想请教:
1、我怎么判断DataSet是否存在某一个datatable?
2、我怎么把DataTable中的数据清除?
我用如下代码:完不成上述功能,哪位兄弟能帮我一下,谢谢
if (ds.Tables[TableName].Rows.Count!=0)
//说明了已经存在TableName这个表,删除之
{
ds.Tables[TableName].Clear();
}
3、我的DataSet中DataTable是从SQL server 下面的DataTable来填充的,如果我的SQL Server下的DataTable数据变化,那么DataSet中相应的DataTable是否自动更新?
4、我如果两次调用SQL Server下的DataTable中的数据,代码如下:运行的结果是不是DataSetDataSet中DataTable里的数据是Sql Server中DataTable里数据的两倍了?也就是第二次填空数据时没有自动把以前的数据清空,而是在以前的基础上追加数据了?谢谢!!
myConnection.Open();
string strCommand="select * from "+TableName;
SqlDataAdapter da=new SqlDataAdapter(strCommand,myConnection);
da.Fill(ds,TableName);
myConnection.Close();

解决方案 »

  1.   

    1.
    if (ds.Tables[TableName].Rows.Count>0)
    {
        //说明了已经存在TableName这个表
    }
    2.ds.Tables[TableName]=null;
    3.不会,除非再次填充da.Fill(ds,TableName);
    4.不是,每次da.Fill(ds,TableName);都会是最新的
      

  2.   

    1、if (ds.Tables.IndexOf(TableName) != -1){}
    2、ds.Tables[TableName].Clear();
    3、不会
    4、如果主键存在,则传入行会与已有的匹配行合并。如果主键不存在,则传入行会追加到 DataTable 中。
      

  3.   

    Dim ds As New DataSet
            Me.SqlDataAdapter1.Fill(ds, "employee")
         
            MessageBox.Show(ds.Tables(0).Rows.Count)----显示43
            Me.SqlDataAdapter1.Fill(ds, "employee")
            MessageBox.Show(ds.Tables(0).Rows.Count)----显示86
    楼上的第四个问题是不是有错啊?
    填充同一个表,没数据完整性的话,好象是有填充一次
    加在一次数据
      

  4.   

    singlepine(小山) ( )第四个问题的回答是错误的。正确的参见 langmafeng(乞力马扎罗)