我最近在我自己的个人笔记本电脑(64位)上为我的工作场所的现有系统开发Windows窗体(在VB.NET中)。一切都工作正常,直到我最近提供了一个更快的笔记本电脑(i7也64位)。
因此,我将项目文件夹直接从旧笔记本电脑复制到较新的笔记本电脑,安装完全相同版本的Visual Studio和MySQL,然后继续开始工作。
前几个错误涉及Crystal Report引用,它们将不同的处理器定位到应用程序的处理器。经过一些研究后,我通过将目标CPU更改为 x64 来迅速解决了这个问题,当我遇到问题时,表单的[设计]视图没有加载因为listViews是"从未声明" 34 ;.在尝试多次清理并重建解决方案但没有成功之后,我最终通过将目标CPU更改为 AnyCPU 来修复它。
但现在出现了一个更奇怪的问题。
为了方便起见,这是我的代码看起来如何的简化示例:
myConnection.ConnectionString = "Server=localhost;Database=myDB;Uid=root;Password=Root;"
myCommand = myConnection.CreateCommand()
myConnection.Open()
lstDealers.BeginUpdate()
With lstDealers
.View = View.Details
.Scrollable = True
.GridLines = True
.FullRowSelect = True
With .Columns
.Add("MONTH", 50, HorizontalAlignment.Left)
.Add("DEAL NUMBER", -2, HorizontalAlignment.Right)
.Add("DEALER", -2, HorizontalAlignment.Left)
.Add("CLIENT", -2, HorizontalAlignment.Left)
End With
End With
Dim myDataAdapter As MySqlDataAdapter = New MySqlDataAdapter
Dim myDataTable As DataTable
Dim myDataSet As DataSet = New DataSet
myCommand.CommandText = "SELECT MONTH, " +
"DEAL_NO, " +
"DEALER, " +
"CUSTOMER " +
"FROM deals " +
"WHERE MONTH >= '" + searchDate + "' AND HIDDEN = 0 " +
"ORDER BY MONTH, DEAL_NO"
myDataAdapter.SelectCommand = myCommand
myDataAdapter.Fill(myDataSet)
请注意最后一行:
myDataAdapter.Fill(myDataSet)
在这里,执行只是停止。似乎没有错误或异常被抛出。当我单步执行代码时,它会返回到具有不完整数据的表单视图,因为很多代码未通过该行。
我做过一些研究,(这个问题似乎又与目标处理器有关)我已经尝试将目标CPU更改回x86,看它是否会被该行运行,但无济于事。
我甚至试图成功:
myConnection.Close()
myDataAdapter.Fill(myDataSet)
myConnection.Open()
但仍然没有。
任何帮助都将不胜感激。
答案 0 :(得分:0)
我最终发现执行只是停止的原因是因为即使默认情况下也没有选择例外设置下的相应例外。
我设法让Visual Studio通过以下方式显示相应的异常:
按 ctrl + alt + E
- 醇>
检查公共语言运行时例外框以选择其所有子项