【发布时间】:2014-05-02 13:29:21
【问题描述】:
我正在像这样将数据集导出到 xml 文件
DataAccess.Instance.TabelasPsis.WriteXml(@"C:\tabelapsis.xml", XmlWriteMode.WriteSchema);
但是当我打开创建的 xml 文件时,它没有包含在“TabelasPsis”数据集中的表的值
顺便说一句,我在另一个类中创建了数据集,因此它公开并且每个表单都可以访问它
public DataSet TabelasPsis { get; set; }
public DataTable tabelapsisEN11 { get; set; }
public DataTable tabelapsisEN13 { get; set; }
public DataTable tabelapsisEN14 { get; set; }
public DataTable tabelapsisEN15 { get; set; }
public DataTable tabelapsisEN12 { get; set; }
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static DataAccess()
{
}
DataAccess()
{
this.TabelasPsis = new DataSet("Tabelaspsis");
this.tabelapsisEN11 = new DataTable("tabelapsisEN11");
this.tabelapsisEN13 = new DataTable("tabelapsisEN13");
this.tabelapsisEN14 = new DataTable("tabelapsisEN14");
this.tabelapsisEN15 = new DataTable("tabelapsisEN15");
this.tabelapsisEN12 = new DataTable("tabelapsisEN12");
TabelasPsis.Tables.Add("tabelapsisEN11");
TabelasPsis.Tables.Add("tabelapsisEN13");
TabelasPsis.Tables.Add("tabelapsisEN14");
TabelasPsis.Tables.Add("tabelapsisEN15");
TabelasPsis.Tables.Add("tabelapsisEN12");
有什么提示吗?
更新:我正在以另一种形式定义它的值,而不是在这个类中,这可能是问题吗?
Update2:我也尝试使用这个来编写数据表:
DataAccess.Instance.TabelasPsis.WriteXml(@"C:\tabelapsis.xml", XmlWriteMode.WriteSchema);
DataAccess.Instance.tabelapsisEN15.WriteXml(@"C:\tabelapsis2.xml", XmlWriteMode.WriteSchema);
结果是:datatable写对了,dataset写错了,怎么回事?
【问题讨论】:
-
首先通过放置断点检查您的数据集是否包含数据。如果数据存在,则检查您将数据集导出到 xml 的代码,以确保它包含数据。
-
我做了一个测试,我尝试用完全相同的方法编写一个数据表,它工作正常,数据表被正确写入。只有数据集不是