1、单引号 ' 转义
今天写mysql的时候遇到一个问题,当传入的mysql语句的参数中含有单引号就会出现问题,这就需要用到转义,其实非常简单,就是使用 .Replace("'", "''") 把参数中的一个单引号替换为两个单引号 。
具体使用:
select '''测试' as test
运行结果:
具体开发可使用 Replace 替换 单引号:
string parm1 = "'测试".Replace("'", "''");
string sql = string.Format("select '{0}' as test", parm1);
这里需要对每一个参数进行替换。
2、反斜杠 \ 转义
当遇到参数中含有 反斜杠 \ 我们也需要对反斜杠进行转义
具体使用:
select '测试\\\\' as test
执行结果:
同样,具体开发可使用 Replace 替换 反斜杠:
string parm1 = "测试\\".Replace("\\", "\\\\");
string sql = string.Format("select '{0}' as test", parm1);
因为sql中不存在 反斜杠,所以也可以在sql字符串后面直接 Replace替换:
string parm1 = "测试\\";
string sql = string.Format("select '{0}' as test", parm1).Replace("\\", "\\\\");