我的DataTable對象似乎爲空,但我不明白爲什麼。我試圖向它添加三個變量,但它仍然表示它爲空。這裏是我的代碼:似乎無法解決對象在C#中的空情況(對象引用未設置爲對象的實例。)
DataTable dt;
DataSet ds = new DataSet();
private void InitDataTable()
{
if (!File.Exists("gjesteInfo.xml"))
{
dt = new DataTable("Gjester");
ds.ReadXml("gjesteInfo.xml");
ds.Tables.Add(dt);
DataColumn dc1 = new DataColumn("Fullt navn");
DataColumn dc2 = new DataColumn("Start dato");
DataColumn dc3 = new DataColumn("Antall dager");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Rows.Add(gjestenavnInput.Text, datoInnsjekk.Text, antallDager.Text);
ds.Merge(dt);
ds.WriteXml("gjesteInfo.xml");
}
else
{
dt.Rows.Add(gjestenavnInput.Text, datoInnsjekk.Text, antallDager.Text);
ds.Merge(dt); <- This is where I want to add information to the dataTable, and this is where the error shows up.
ds.WriteXml("gjesteInfo.xml");
}
}
任何建議如何避免着名的「對象引用未設置爲對象的實例」錯誤?
我的整個問題是,我只希望它創建一個新的表,如果文件/表不存在,如果它確實存在,我希望它只是從文本框中添加新的信息。每次對象實例化時都不要創建一個新表。 – Praise 2013-04-22 17:58:18
是的,重新加載頁面,我已經更新了答案 – Steve 2013-04-22 17:59:49
這工作! :)但由於某種原因,現在它再次存儲舊信息。我將嘗試解釋:我有三個文本框,當它們全部填充並單擊按鈕時,信息將轉到XML。因此,如果我存儲:史蒂夫,男,23歲。它轉到XML。但現在,如果我想補充一下:Marius,男,29歲。它存儲史蒂夫,男,23歲和馬呂斯,男,29歲。如果我想補充:超級馬里奧,男,45歲。它存儲史蒂夫,男,23歲,馬呂斯,男,29歲,超級馬里奧,男,45歲。你明白嗎? – Praise 2013-04-22 18:14:57