以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [注意]项目闪退的根源找到,请甜老师与BIN老师关注一下。  (http://foxtable.com/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
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
dlg.FileName = "库存查询.xls"
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮\'
     Tables("库存查询主窗口_Table_查询表").SaveExcel(dlg.FileName, "库存查询")  \'保存文件
End If

 

我刚才用排除法,把项目删到只有一个窗口与一张表,执行上面的代码时还是出错了,我再新建一个空项目,然后连上外部数据库后加载一张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=63039&skin=0

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
--  

谢谢分享