我们可以在c#中的datatable.select中添加参数吗?

use*_*652 4 c# datatable .net-2.0 c#-2.0

我想知道是否可以在datatable.select(expression)中添加参数.例如

string query="Name=@Name";          
//dt is comming from database.
dt.Select(query);
Run Code Online (Sandbox Code Playgroud)

如何添加此参数@Name.我需要比较包含单引号的值,并在上述情况下失败.

提前致谢

Tim*_*ter 7

你可以使用String.Format,你需要用两个单引号来转义:

string query = string.Format("Name='{0}'", name.Replace(@"'", "''"));
var rows = dt.Select(query);
Run Code Online (Sandbox Code Playgroud)

或者,如果你想使用Like:

string query = string.Format("Name LIKE '%{0}%'", name.Replace(@"'", "''"));
Run Code Online (Sandbox Code Playgroud)

(注意a DataTable不容易受到sql注入的影响,因为它是内存中的对象)