铁路校友博客-卢松松的追随者

一个互联网十五年的老站长-铁路校友15weber, 13SEOer, 1 year GEO先行者 Good Luck To You!

MySql.Data.MySqlClient.MySqlException'发生在MySql.Data.dll中

本文介绍了MySql.Data.MySqlClient.MySqlException'发生在MySql.Data.dll中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从c#应用程序查询MySQL数据库.下面是代码,在这里我正在使用parameterized query 

 public static void ValidateName(MySqlConnection conn,List<Employee> EmpList, string Group)
 {   string selectQuery = "Select Name from Employee where Group = @Group  AND @Name in (FirstName, LastName);";
   using (MySqlCommand cmd = new MySqlCommand(selectQuery, conn))
    {     for (int i = 0; i < EmpList.Count; i++)
      {
        cmd.Parameters.Add("@Group", MySqlDbType.VarChar).Value = Group;
        cmd.Parameters.Add("@Name", MySqlDbType.VarChar).Value = EmpList[i].Name;
        var reader = cmd.ExecuteReader();
        List<string> lineList = new List<string>();        while (reader.Read())
        {
            lineList.Add(reader.GetString(0));
        }        if (lineList.Count <=0)
        {           WriteValidationFailure(EmpList[i], "Failed");
        }
}       
}

但是上面的代码在下面一行说

 cmd.Parameters.Add("@Group", MySqlDbType.VarChar).Value = Group;


类型为'MySql.Data.MySqlClient.MySqlException'的未处理异常 MySql.Data.dll'@Group中已经发生了


推荐答案

之所以发生这种情况,是因为您在每次迭代中都添加了相同的参数集.您可以在每次迭代中清除然后在启动循环之前添加它们,并在每次迭代期间更改现有参数的值.我认为第二种选择会很棒.我还要在此处指定关于阅读器的另一件事,您必须将阅读器用作using变量,以便每次将其放置在using块的末尾时,您的代码就可以正常工作.这意味着您可以尝试这样的事情:

using (MySqlCommand cmd = new MySqlCommand(selectQuery, conn))
{
    cmd.Parameters.Add(new MySqlParameter("@Group", MySqlDbType.VarChar));
    cmd.Parameters.Add(new MySqlParameter("@Name", MySqlDbType.VarChar));    for (int i = 0; i < EmpList.Count; i++)
    {
        cmd.Parameters["Group"].Value = group;
        cmd.Parameters["Name"].Value = EmpList[i].Name;
        // rest of code here       using (MySqlDataReader reader = cmd.ExecuteReader())
       {
           // Process reader operations 
       }

    }
}


友情链接
博主简介




我是做小程序、APP推广的,呵呵…
自定义职责类似于应用宝。

2022.1-至今 做公众号、视频号直播。

2020.11 开始做短视频赚钱。

2019.5.1 快手、京东、微信赚人生第一桶金。。。 

2014.6 从论坛搬到了zblog程序,开始做手机APP、AD

2013.1   出售了人生第一个网站赚了8000,那时相当于自己一年的学费。

2011.6   自学会页面建站,正式走上了站长之路

2010.10   用自己在大学里暑假兼职打工的第一份工资买了人生中的第一台笔记本电脑。


- - - - - - - -- - - - - - -
温馨提示 1.赚钱无捷径,切勿乱投资! 2.保持账号唯一,切勿作弊。 3.活动可能会结束,越早参与越好。



专注APP推广,ks直播间晚八开播,加我技巧

我是做小程序、APP推广的,呵呵…
自定义职责类似于应用宝。



重点推广: 东小店
  • 阿Q正传博客
  • 中青看点邀请码
  • 火山极速版邀请码
  • 高佣联盟
    AD1

    Powered By Z-BlogPHP 1.7.3

    关于我们:本人从2010年开始网络创业, 自学 建站,8年手机副业经验。网站内容:本站是本人记录生活感悟,读书学习的网站,希望能对大家有所帮助。网名:光影 职业:SEO营销顾问籍贯:四川广安,现定居成都 电话:个V:wx374241337 邮箱:374241337@qq.com 【腾讯云】轻量新用户上云福利,2核2G4M 低至 65元/年 , 超大容量云硬盘 0.5折起!