虽说mysql-connector-net(MySql.Data.dll,MySql的数据对象的.net提供器)一直编译不了,手上有两个版本5.1.4和5.2.2都编译不了,于是今天干脆找了找方法,彻底的把这个问题解决掉。

该问题是由MySqlString中的EscapeString方法中有编译造成的,具体请看:

 

 s)
        {
            s = s.Replace("\\""\\\\");
            s 
= s.Replace("\'""\\\'");
            s 
= s.Replace("\"""\\\"");
            s 
= s.Replace("`""\\`");
            s 
= s.Replace("?, "\\?);
            s 
= s.Replace("?, "\\?);
            s 
= s.Replace("?, "\\?);
            
return s;
        }


其实方法也很简单,只是一时没有想到,只需要使用reflector查看MySqlString这个类,把正确的反编译后的代码复制出来就行,以下就是正确的代码:


 s)
        {
            s = s.Replace(@"\"@"\\");
            s 
= s.Replace("'"@"\'");
            s 
= s.Replace("\"""\\\"");
            s 
= s.Replace("`"@"\`");
            s 
= s.Replace("\x00b4""\\\x00b4");
            s 
= s.Replace(""@"\’");
            s 
= s.Replace(""@"\‘");
            
return s;
        }

相关文章:

  • 2022-12-23
  • 2021-06-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-05
  • 2022-12-23
猜你喜欢
  • 2021-08-02
  • 2021-10-22
  • 2021-12-20
  • 2021-06-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案