已解决 C# 调用 MySQLDriverCS 类库 报 vshost32-clr2.exe 已停止工作

这几天修改一个项目是用C# 通过调用 MySQLDriverCS.dll 类库来操作 MySql数据库,

调试的会发生以上错误(直接运行是正常的),刚开始以为是兼容性问题,吧此错误百度上一粘贴有的人说是offic 和 visual studio 的问题需要重装,实在不行重装系统就好了,可是我重装后问题依旧,后来发现不是每次执行 ExecuteNonQuery() 都报错,仔细一看原来是sql 语句写的有问题

但是try catch 捕捉不到,直接报这个错误;因为此项目是由vs2010 开发的,所以我估计是我的vs2012 和这个版本的MySQLDriverCS.dll 的兼容问题导致

下面是我还原的错误,调试的会发生以上错误(直接运行是正常的),代码如下:

 

using MySQLDriverCS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "select count(*1) from tab1;";//这里的特意写错的,调试时直接报错 try catch 捕捉不到
            MySQLConnection conn = new MySQLConnection("Data Source=test;Password=root;User ID=root;Location=localhost");

            try
            {
                conn.Open();
                if (new clsSql().ExecSql(conn, str))
                {
                    Console.WriteLine("ok");
                }
                else
                {
                    Console.WriteLine("failed");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }
    }
}

这个问题出现的条件是 传入的sql语句有语法错误的时候,并且只有调试运行时才会报;

直接双击.exe 文件则没问题

我的运行条件:

win7 32位旗舰版 sp1

vs2012

MySQL 版本 mysql-essential-5.1.54-win32.msi

这个问题到不是很棘手,只不过没找到具体的原因

这是源码和MySql5.1的安装包:http://yunpan.cn/QbqqeRfQ6J8W2

我后来用同事的vs2010测试了一下是没有问题的,不报错且try catch 可以捕捉到

 

转载于:https://www.cnblogs.com/tiaf/p/3359295.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值