DataTable表达式无法解释令牌'!'

BAR*_*ARJ 4 c# datatable expression syntax-error token

我有以下代码:

//myDataTable has the following collumns: UserName, Birthday and email.
string name = "eric!";
string expression = "UserName = " + name;
DataRow[] result = myDataTable.Select(expression);
Run Code Online (Sandbox Code Playgroud)

我想选择所有名称为“ eric!”的行。
“!” 给我以下错误:

无法解释令牌“!”。

如何选择带有此类标记的所有行?
(由于从.sql文件中提取了用户名,因此我确实需要在表达式中加上“!”)

Son*_*nül 5

您应该在name之间使用''。喜欢;

string name = "'eric!'";
Run Code Online (Sandbox Code Playgroud)

如果没有单引号,则您的DataTable.Select方法认为这!是一个运算符,并且在DataColumn.Expression属性中不允许将其作为有效运算符。

来自文件 ;

用户定义的值

可以在表达式内使用用户定义的值与列值进行比较。字符串值应用单引号引起来。