0

我似乎无法理解为什么我得到:

“你调用的对象是空的。”

这种情况下的错误:

    DataTable utenRomData;
    DataSet utenRomSet;


    private void InitDataUtenRom()
    {
        utenRomData = new DataTable("GjesterUtenRom");
        utenRomSet = new DataSet();

        utenRomData.Columns.Add(new DataColumn("FulltNavn"));
        utenRomData.Columns.Add(new DataColumn("StartDato"));
        utenRomData.Columns.Add(new DataColumn("AntallDager"));

        utenRomSet.Tables.Add(utenRomData);


        if (File.Exists("gjesteInfo.xml"))
            utenRomSet.ReadXml("gjesteInfo.xml");

        utenRomData.Rows.Add(gjestenavnInput.Text, datoInnsjekk.Text, antallDager.Text);

        utenRomSet.Merge(utenRomData);
        utenRomSet.WriteXml("gjesteInfo.xml");
    }

    DataTable medRomData;
    DataSet medRomSet;

    private void InitDataMedRom()
    {
        medRomData = new DataTable("GjesterMedRom");
        medRomSet = new DataSet();

        medRomData.Columns.Add(new DataColumn("FulltNavn"));
        medRomData.Columns.Add(new DataColumn("StartDato"));
        medRomData.Columns.Add(new DataColumn("AntallDager"));

        medRomSet.Tables.Add(medRomData);

        if (File.Exists("gjesteInfo.xml"))
            medRomSet.ReadXml("gjesteInfo.xml");

        DataRow[] temp = new DataRow[medRomData.Rows.Count]; 

        utenRomData.Rows.CopyTo(temp, 0); <- This is where I get the error!

        medRomSet.Merge(utenRomData);
        medRomSet.WriteXml("gjesteInfo.xml");
    }

我正在尝试通过拖放将内容从表 utenRomData 移动到表 medRomData。有什么想法吗?

如何在 InitDataMedRom() 中实例化 utenRomData?

4

1 回答 1

1

貌似utenRomData没有实例。

您可以通过以下方式检查它是否具有值:

if (utenRomData != null) {
   utenRomData.Rows.CopyTo(temp, 0); 
   medRomSet.Merge(utenRomData);
   medRomSet.WriteXml("gjesteInfo.xml");
}

要实例化一个utenRomData简单的新实例:

if (utenRomData == null) {
  InitDataUtenRom();
}
于 2013-04-24T10:10:43.487 回答