Xml 当表具有现有关系时,如何清除数据集?

Xml 当表具有现有关系时,如何清除数据集?,xml,vb.net,datatable,Xml,Vb.net,Datatable,当表具有现有关系时,如何清除数据集?我正在尝试清除不同使用之间的数据集。每次我加载一个新的XML文件时,数据集都会保留旧的表名,但我加载的是一个全新的XML文件,所以需要清除它。我试图使用ssrsReportDataSet.Tables.Clear(),但我得到了 “无法删除具有现有关系的表。请删除关系。” 首先。” 我很确定现有表之间存在外键约束 以前我尝试过遍历数据集并从每个表中删除每一行,但仍然无法删除表或清除数据集 Private Sub btnLoadFile_Click(ByVal

当表具有现有关系时,如何清除数据集?我正在尝试清除不同使用之间的数据集。每次我加载一个新的XML文件时,数据集都会保留旧的表名,但我加载的是一个全新的XML文件,所以需要清除它。我试图使用
ssrsReportDataSet.Tables.Clear()
,但我得到了

“无法删除具有现有关系的表。请删除关系。” 首先。”

我很确定现有表之间存在外键约束

以前我尝试过遍历数据集并从每个表中删除每一行,但仍然无法删除表或清除数据集

Private Sub btnLoadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadFile.Click

    Dim fd As OpenFileDialog = New OpenFileDialog()
    Dim strFileName As String

    fd.Title = "Open File Dialog"
    fd.InitialDirectory = "C:\"
    fd.Filter = "XML Files (*.xml)|*.xml|Excel Files (*.xls)|*.xlsx"
    fd.FilterIndex = 1
    fd.RestoreDirectory = True

    If fd.ShowDialog() = DialogResult.OK Then


        ' Clear data set
        ssrsReportDataSet.Tables.Clear()


        strFileName = fd.FileName
        lblFilePath.Text = strFileName

        'Load dataset from XML file
        ssrsReportDataSet.ReadXml(strFileName)

        ' Set dropdown values
        For n As Integer = 0 To ssrsReportDataSet.Tables.Count - 1

            tableSelecter.Items.Add(ssrsReportDataSet.Tables(n).TableName)
        Next

        ' Load datagrid
        DataGridViewXml.DataSource = ssrsReportDataSet
        DataGridViewXml.DataMember = ssrsReportDataSet.Tables(0).TableName

        tableSelecter.SelectedIndex = 0

    End If
End Sub

如果您不再需要以前的数据集,但希望使用相同的全局变量,则只需重新初始化它

    ssrsReportDataSet = new DataSet();

而且,不需要处理数据集。

它具有模块级作用域,因此下拉菜单上的SelectedIndexChanged等事件可以访问它。也许还有更好的方法…谢谢。我讨厌错过这么简单的事情。。。只要有人回答我,我就马上回答。