|
1金钱
环境:VS2010,ACCESS2010,WIN7
问题:
用C#开放一个软件,两个功能,一个是ACCESS数据库访问,一个是用openFileDialog对话框选取文件。
在软件运行时,如果先执行openFileDialog,则没有问题,数据库访问正常,以后再执行openFileDialog也没问题,
但是,如果先执行数据库访问,再执行openFileDialog时,在ShowDialog(this)这句就会出错,或者文件浏览对话框无响应。
报错信息是:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
OpenFileDialog dlg= new OpenFileDialog();
dlg.InitialDirectory = Application.StartupPath;
if (dlg.ShowDialog(this) == DialogResult.OK)
{
textBox1.Text = dlg.FileName;
}
为了让大家更直观的看出问题,我做了一个工程,大家帮忙看看,只要顺序点访问数据库、浏览文件五次以上 就会出问题
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
代码也很简单,这个问题已经折磨了我很久了,请大家帮忙解决下。
我在网上也找了
我的这个问题和下面几个很类似,只是没有从他们的帖子里面找到有效的解决方案
http://bbs.csdn.net/topics/390358491
https://social.msdn.microsoft.com/Forums/zh-CN/c58d1135-fe6f-4f53-8263-b8fa6e8e3747/oledbaccessopenfiledialog
请大家帮忙解决!!!
|
|