Mysql dataAdapter.Fill(数据集)无明显原因而停止执行

Mysql dataAdapter.Fill(数据集)无明显原因而停止执行,mysql,vb.net,processor,Mysql,Vb.net,Processor,我最近在自己的个人笔记本电脑(64位)上为工作场所的现有系统开发windows窗体(在VB.NET中)。一切都很好,直到最近我被提供了一台更快的笔记本电脑(i7也是64位) 因此,我将项目文件夹直接从我的旧笔记本电脑复制到新笔记本电脑上,安装了完全相同版本的VisualStudio和MySQL,然后开始工作 前几个错误涉及Crystal Report引用,其目标处理器与应用程序的处理器不同。经过一些研究之后,我通过将目标CPU更改为x64迅速解决了这个问题,当时我遇到了表单的[Design]视图

我最近在自己的个人笔记本电脑(64位)上为工作场所的现有系统开发windows窗体(在VB.NET中)。一切都很好,直到最近我被提供了一台更快的笔记本电脑(i7也是64位)

因此,我将项目文件夹直接从我的旧笔记本电脑复制到新笔记本电脑上,安装了完全相同版本的VisualStudio和MySQL,然后开始工作

前几个错误涉及Crystal Report引用,其目标处理器与应用程序的处理器不同。经过一些研究之后,我通过将目标CPU更改为x64迅速解决了这个问题,当时我遇到了表单的[Design]视图未加载的问题,因为ListView“从未声明”。在多次尝试清理和重建解决方案都没有成功后,我最终通过将目标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()
但还是没什么


任何帮助都将不胜感激。

我最终发现执行只是停止的原因是,即使在默认情况下,异常设置下的相应异常也未被选择

我通过以下方式使Visual Studio显示了适当的异常:

  • 按ctrl+alt+E

  • 选中公共语言运行时异常框以选择其所有子项


  • 将代码放入Try…Catch语句中。。。。并显示异常消息(如果有)。代码在哪里?如果它位于表单加载事件中,则可能存在您未看到的异常。插入关于连接SQL而不是SQL参数并将日期视为字符串的标准警告扫描您使用visual studio中的服务器资源管理器连接到数据库,并将结果文本作为查询运行,然后查看返回的内容?如果适配器正在播放,这应该是一个好主意,如果这样的话,您可能会有一个损坏的mySqlAdapter安装。好的,所以我添加了一个Try…Catch语句,并在“where子句”中显示异常“Unknown column'HIDDEN”。太棒了!我现在知道为什么执行会停止,但我不明白为什么它不“显示”异常而不使用Try…Catch?