数据表.选择检索所有行
本文关键字:检索 选择 数据表 | 更新日期: 2023-09-27 18:12:48
我有这样的代码:
allGyms.Select("type = 1");
foreach(DataRow allGymsRow in allGyms.Rows)
{
}
allGyms存储了25行,其中7行类型为1,另外7行类型为2,以此类推。现在我试图使用当前的DataTable
来检索类型为1的行,所以它应该返回7行。但是,当我调试到foreach循环时,allgym有25行,而不是预期的7行。
有人知道我做错了什么吗?
另一个答案是关于IEnumerable的Select方法。
我相信你正在尝试在DataTable上使用Select方法。
如果是这种情况,问题是您没有保存该方法返回的过滤数组。您需要保存返回的数组,然后遍历它。
var filteredRows = allGyms.Select("type = 1");
foreach(DataRow allGymsRow in filteredRows)
{
...
}
Select()对每个元素应用一个方法。这是改变集合(如数组)中的元素的一种优雅方式。
我认为你想创建一个数据表,这样你就可以从你的aspx.cs文件运行数据库查询,像这样:
DataTable dt = new DataTable();
using (OracleConnection con = new OracleConnection(Application["ConnectionString"].ToString()))
{
con.Open();
string strSQL = "SELECT * FROM YourTable WHERE type = 1";
OracleDataAdapter adapter = new OracleDataAdapter(strSQL, con);
adapter.Fill(dt);
if (dt.Rows.Count > 0)
return dt.Rows[0][0].ToString();
}
return "";
尝试同时使用Select和Where:
allGyms.Select().Where(t => t.type == 1);