我有一个跟踪程序,可以在保存或自动保存期间保存隐藏的XML文件,以防用户意外关闭程序并需要重新加载它。它被导入到数据集和数据表中。
这里是WriteXML和ReadXML的代码:
中WriteXML:
private void SaveloadFile()
{
string Timefor = Properties.Settings.Default.DateFormat;
System.Data.DataTable dt = (System.Data.DataTable)dataGridView1.DataSource;
string Filelocation = Properties.Settings.Default.SaveLocation.ToString() + "_" + System.DateTime.Today.ToString(Timefor) + ".xml";
try
{
dt.WriteXml(Filelocation, XmlWriteMode.WriteSchema);
FileInfo xm = new FileInfo(Filelocation);
xm.Attributes = FileAttributes.Hidden;
}
catch(System.Exception err)
{
MessageBox.Show("Ah poop, Something went wrong\n" + err, "Oh poop", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
ReadXML的:
public void ReadXML(string Filepath)
{
try
{
dt.ReadXml(Filepath);
ds.Tables.Add(dt);
dataGridView1.DataSource = ds.Tables[0];
}
catch (System.Exception err)
{
MessageBox.Show("Ah poop, Something went wrong\n" + err, "Oh poop", MessageBoxButtons.OK, MessageBoxIcon.Information);
CreateDataBase();
}
}
它似乎有效。虽然在打开应用程序并尝试保存当前工作后,I get this.
仅当我加载程序并尝试保存时才会发生这种情况。
我已经查看了代码,我想我把它归结为readxml,读完后不放手。虽然我有一些怀疑,但是writexml并没有正常工作。
我环顾四周,似乎无法找到解决这个问题的方法。
如果有人能告诉我代码有什么问题会很棒!