Vb.net 语句后不执行的命令

Vb.net 语句后不执行的命令,vb.net,Vb.net,我在表单加载事件中有一些代码。它做得很好。但当它到达从数据库中拾取数据的位置时,在此之后不会执行任何命令。没有任何错误,但它只是沉默 我对它进行了如下测试: MsgBox("1") vrStudentName = DsGetPprStatusfromEnrSummary.tblPaperEnrSummary.Rows(0).Item("StudentName") MsgBox("2") 请告知。 谢谢 福坎 消息框1显示数据,而不是消息框2。事实上,第二条消息框语句根本没有显示任何响应。很明显

我在表单加载事件中有一些代码。它做得很好。但当它到达从数据库中拾取数据的位置时,在此之后不会执行任何命令。没有任何错误,但它只是沉默

我对它进行了如下测试:

MsgBox("1")
vrStudentName = DsGetPprStatusfromEnrSummary.tblPaperEnrSummary.Rows(0).Item("StudentName")
MsgBox("2")
请告知。 谢谢 福坎


消息框1显示数据,而不是消息框2。事实上,第二条消息框语句根本没有显示任何响应。

很明显,对
DsGetPprStatusfromEnrSummary.tblpPerenrSummary
的调用永远不会返回;这意味着问题就在那里的某个地方

那到底是怎么回事?我猜这是一个数据集,是吗


但是你已经静态地引用了它,这就是Yuckypooo(TM)IMHO,因为它是一个复杂的工件,你已经将引用它的所有东西呈现为不可分离的,因此从根本上说是不稳定的

收到关于Codeproject的答复

在弹出的对话框中,在“抛出”和“未处理”下的每个复选框中打勾。按OK。 现在,当您通过调试器运行应用程序时,即使您有一个活动的处理程序,它也会因任何异常而中断。这将有助于您追踪问题


问题已解决

这是64位操作系统上的一个严重问题。从窗体的加载事件运行的代码中引发的任何异常都会在没有诊断的情况下被吞没。这是一个没有得到解决的老问题,因为微软的DevDiv和Windows小组互相指责。我的手指指向Windows组,但这也无济于事

解决此问题的两种基本方法:

  • 项目+属性、编译选项卡、向下滚动、高级编译选项、将目标CPU选项从x86更改为AnyCPU。这将禁用接受异常的Wow64仿真层

  • 调试+异常,勾选“公共语言运行时异常”的抛出框。一旦抛出异常,调试器就会停止


还要记住,很少需要使用OnLoad方法或Load事件。只有要求表单的大小、位置或句柄准确的代码才需要它。其他任何内容都属于表单的构造函数。经常使用的加载是VB6的一个错误,它在设计器设计中遗留下来,使加载事件成为窗体的默认事件。通过键入“Sub New”添加构造函数。

您是否收到异常?这不是答案,只是一种解决方法。它会再次伤害你。