我有一个数据表,我想用公司名称过滤此表.但是它给出了这个错误:"语法错误在's'操作符之后缺少opperand".
我的代码是这样的.
DataRow[] rowList = resultDt.Select(string.Format(" [{0}] = '{1}'", resultDt.Columns["Company"], "Dyn's"));
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
这是名字中的撇号,你需要逃脱它:
DataRow[] rowList = resultDt.Select(string.Format(" [{0}] = '{1}'", resultDt.Columns["Company"], "Dyn\'s"))
Run Code Online (Sandbox Code Playgroud)
问题是它被替换{1},所以结果字符串看起来像'Dyn's',逃避它会让你到'Dyn\'s'哪个应该没问题.
Dyn's
Run Code Online (Sandbox Code Playgroud)
您需要转义撇号:
Dyn\'s
Run Code Online (Sandbox Code Playgroud)