C# DataTable有问题。请选择
是否有方法在DataTable中查找值使用方法选择:C# DataTable有问题。请选择,c#,datatable,C#,Datatable,是否有方法在DataTable中查找值使用方法选择: 选择(“像“%10%”这样的数字); 但是数字类型是Int,而这段代码不起作用…看看t-SQL函数,它们可能会对您有所帮助。基本上,在您的查询中,使用CAST或CONVERT(不确定哪一个最适合您)将int更改为字符串,您可以对其执行之类的。查看T-SQL函数,它们可能会对您有所帮助。基本上,在您的查询中,使用CAST或CONVERT(不确定哪一个最适合您)将int更改为一个字符串,您可以对其执行之类的操作。如果您真的希望有这样的行为,那
选择(“像“%10%”这样的数字);
但是数字类型是Int,而这段代码不起作用…看看t-SQL函数,它们可能会对您有所帮助。基本上,在您的查询中,使用
CAST
或CONVERT
(不确定哪一个最适合您)将int更改为字符串,您可以对其执行之类的。查看T-SQL函数,它们可能会对您有所帮助。基本上,在您的查询中,使用CAST
或CONVERT
(不确定哪一个最适合您)将int更改为一个字符串,您可以对其执行之类的操作。如果您真的希望有这样的行为,那么最好在表中添加额外的计算列,如“NumberText”使用类型字符串,它将存储与列编号相同的值。然后可以执行表达式:items。选择(“类似“%10%”的NumberText)代码>如果您真的希望有这样的行为,那么最好只需在表中添加额外的计算列,如带有字符串类型的“NumberText”,它将存储与列Number相同的值。然后可以执行表达式:items。选择(“类似“%10%”的NumberText)代码>您可以通过以下方式使用linq:
var matchingRows =
from item in items.AsEnumerable()
where item.Field<string>("Number").Contains("10")
select item;
var匹配行=
来自items.AsEnumerable()中的项
其中项目字段(“编号”)包含(“10”)
选择项目;
或者,如果数字实际上是一个数字:
var matchingRows =
from item in items.AsEnumerable()
where item.Field<double>("Number").ToString().Contains("10")
select item;
var匹配行=
来自items.AsEnumerable()中的项
其中item.Field(“Number”).ToString()包含(“10”)
选择项目;
您可以通过以下方式使用linq:
var matchingRows =
from item in items.AsEnumerable()
where item.Field<string>("Number").Contains("10")
select item;
var匹配行=
来自items.AsEnumerable()中的项
其中项目字段(“编号”)包含(“10”)
选择项目;
或者,如果数字实际上是一个数字:
var matchingRows =
from item in items.AsEnumerable()
where item.Field<double>("Number").ToString().Contains("10")
select item;
var匹配行=
来自items.AsEnumerable()中的项
其中item.Field(“Number”).ToString()包含(“10”)
选择项目;
如果内存可用,则需要通过将单引号加倍来转义单引号。即:
items.Select("Number like ''%10%''");
如果内存可用,您需要通过加倍来转义一个引号。即:
items.Select("Number like ''%10%''");
您可以使用DataView筛选DataTable中的值
DataView dv = new DataView(dtSample);
dv.RowFilter = "Number like '%10%'";
您可以使用DataView筛选DataTable中的值
DataView dv = new DataView(dtSample);
dv.RowFilter = "Number like '%10%'";
对于未来的读者,这可能会有帮助:
DataRow[] matchingRows = a.Select("Convert(Age, 'System.String') like '2%' "); // cut and paste from my code
因此,在您的代码中:
DataRow[] matchingRows = a.Select("Convert(Number, 'System.String') like '10%' "); // where Number is the name of your column.
对于未来的读者,这可能会有帮助:
DataRow[] matchingRows = a.Select("Convert(Age, 'System.String') like '2%' "); // cut and paste from my code
因此,在您的代码中:
DataRow[] matchingRows = a.Select("Convert(Number, 'System.String') like '10%' "); // where Number is the name of your column.
是否要匹配任何包含10的值?所以12312310324235、10100、234324510都匹配,但23432451不匹配?是否匹配任何包含10的值?所以12312310324235,10100,234324510都匹配,但23432451不匹配?谢谢,我只是写了新的sql查询,其中字段'Number'转换为varchar,然后我把它放到DataTable谢谢,我只是写了新的sql查询,其中字段'Number'转换为varchar,然后我把它放到DataTable