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);
如何添加此参数@Name.我需要比较包含单引号的值,并在上述情况下失败.
提前致谢
你可以使用String.Format,你需要用两个单引号来转义:
string query = string.Format("Name='{0}'", name.Replace(@"'", "''"));
var rows = dt.Select(query);
或者,如果你想使用Like:
string query = string.Format("Name LIKE '%{0}%'", name.Replace(@"'", "''"));
(注意a DataTable不容易受到sql注入的影响,因为它是内存中的对象)