c#如何在if/else语句中克隆数据集

本文关键字:语句 数据集 else if | 更新日期: 2023-09-27 18:04:35

我想知道(如果可能的话)如何克隆if/else语句中的数据集,我的意思是,我想使用按钮触发查询搜索,然后将该数据倒入克隆数据集(具有我想要的确切结构,包括表关系)以正确显示搜索数据的形式。下面是代码:

    private void btn_Click(object sender, EventArgs e)
{
    OdbcConnection conn = new OdbcConnection(); // A connection string...
    if (whatever)
    {
      whatever
    }
    else
    {
        OdbcDataAdapter SearchData = new OdbcDataAdapter(); //Query string...
        //now i need to clone a existing DataSet
        DataSet cloneSet = dataSet.Clone();
        //Then fill it with dat from query
        SearchData.Fill(cloneSet);
    }
} // end of button click event

有办法做到这一点吗?

c#如何在if/else语句中克隆数据集

有办法做到这一点吗?

是的,你已经在做了。Clone()方法做完全相同的事情…从现有数据集创建一个包含所有模式的新数据集。因此,在您的情况下,cloneSet下面的行将具有与现有dataSet相同的结构

DataSet cloneSet = dataSet.Clone();

但是,为什么不能使用现有的数据集呢?为什么要克隆它?此外,cloneSet不能在事件处理程序之外使用,因为它将失去它的作用域。如果您打算在按钮单击事件处理程序之外使用它,则可能需要全局声明它。