以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [注意]项目闪退的根源找到,请甜老师与BIN老师关注一下。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65602) |
-- 作者:huangfanzi -- 发布时间:2015/3/18 23:57:00 -- [注意]项目闪退的根源找到,请甜老师与BIN老师关注一下。 今天定下心来试了一天,终于找到项目闪退的原因了,不是操作系统问题,也不是管理员权限问题,也不是NET版本问题,而是ACCESS数据库2007版兼容性问题 下面的代码用在带有SQLQuery的Table的窗口中必出错,表现为闪退,但用在Normal中不大会出错,此外项目经常会在开发过程中突然闪退,比如当打开项目属性或表属性时,总之非常不稳定。 Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
我刚才用排除法,把项目删到只有一个窗口与一张表,执行上面的代码时还是出错了,我再新建一个空项目,然后连上外部数据库后加载一张ACCESS2007格式的外部表,这张表是上面代码要用到的一张表,这时执行上面代码时不出错了,我就再继续加载外部数据库中的其他表,加了几张后执行代码就出错了,这时,我突然想到了是不是数据库本身的问题,于是用Foxtable中的创建Access文件方法建了个2003版的ACCESS数据库,然后我打开2007版的数据库把数据表全部复制到2003版的MDB数据库中,最后调整下项目中的连接外部数据库的代码,由原来的 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & e.ProjectPath & "ShcsMain.accdb;Persist Security Info=False" 改成"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath & "ShcsMain.MDB;Persist Security Info=False",再重新打开项目后一切正常了,发布项目后换到另一台电脑上执行也正常了。 以下是我之前在论坛提出的关于项目不稳定的帖子,现在看来,全是我上面所说的原因。 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65123&replyID=&skin=1 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65263&replyID=&skin=1 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65557&replyID=&skin=1
另外,之前项目在开发时如果关掉项目,操作系统的进程还在,再开项目后就多个进程,反复这样操作,有一次搞出12个进程出来,吓我一跳,后来找甜老师求助,帮我写了段退出项目后杀进程的代码,算是凑合着用了,这个问题现在也解决了。 [此贴子已经被作者于2015/3/19 0:04:13编辑过]
|
-- 作者:lsy -- 发布时间:2015/3/19 7:03:00 -- 好帖。 |
-- 作者:gaoqr -- 发布时间:2015/3/19 8:10:00 -- 感谢分享经验 |
-- 作者:Bin -- 发布时间:2015/3/19 8:33:00 -- 谢谢分享 |
-- 作者:bahamute -- 发布时间:2015/3/19 8:33:00 -- 一直使用OLEDB.4.0,知道OLEDB.12.0,但从未用过。 |
-- 作者:huangfanzi -- 发布时间:2015/3/19 10:26:00 -- 今天上班,在多台公司电脑上安装发布后的项目,原来全是有不稳定问题的,现在用了二个小时了,一切正常。 |
-- 作者:狐狸爸爸 -- 发布时间:2015/3/19 10:34:00 -- 谢楼主分享 |
-- 作者:飞飞 -- 发布时间:2015/3/19 12:43:00 -- ok |
-- 作者:L88919138 -- 发布时间:2015/3/19 13:22:00 -- 谢谢分享 |