我在c#asp.net页面的文字<% %>
中嵌入了以下c#代码
string commandString = "SELECT tblData.Content " +
"FROM tblData " +
"WHERE (tblData.ref = N\'%"+myCurrentREF+"%\')";
这打破了我的代码,因为它显然无法使用\'
转义字符。为什么会这样?其他转义字符如\"
正在运行,为什么\'
无效?
答案 0 :(得分:1)
如果您选择“作为字符串终止符,序列”“正在”工作。
如果你使用@“作为初始字符串终止符,序列\”不转义引号(但“”确实如此)。
所以\“不是”通用“转义序列,而且”不是。“
答案 1 :(得分:0)
你不应该逃避单引号。但如果你这样做,你可以随时尝试@方法。
答案 2 :(得分:0)
string commandString = "SELECT tblData.Content " +
"FROM tblData " +
"WHERE (tblData.ref = '%"+myCurrentREF+"%')";
这是正确的方法,但不是=并不意味着?,或者你的字符串总是以%开头?