当打开文件对话框错误时,我进入VS 2012"尝试读取或写入受保护的内存。这通常表明其他内存已损坏。"
我发现错误导致OleDb对象。
在我的表单上的Load事件中,我有数据库连接的Open和Close语句。
private void Menu2_Load(object sender, EventArgs e)
{
ConnectionString myConnString = new ConnectionString();
OleDbConnection AccessDbConnection = new OleDbConnection(myConnString.DbConnectionString());
AccessDbConnection.Open();
AccessDbConnection.Close();
}
在我的按钮触发事件中,我有
private void button1_Click(object sender, EventArgs e)
{
myFileDialog1.ShowDialog();
}
这就是异常提升的地方。
如果我没有在“加载表单事件”
中关闭数据库连接,则异常消失//AccessDbConnection.Close();
有趣的是,如果我在按钮触发事件中打开和关闭数据库连接,然后再打开对话框就可以了。
因此,只有在我的表单数据库关闭连接语句的“加载”部分中,才会引发错误。
有什么建议吗?