我在c#.net中有一个数据表,下面的列所以首先我填写这个数据表,然后我尝试通过搜索从它获取数据。如何使用c#.net搜索数据表中的行.net
void CalculateEzafkari2()
{
calEzaf = new DataTable();
calEzaf.Columns.Add("IDp");
calEzaf.Columns.Add("duration");
calEzaf.Columns.Add("date", typeof(DateTime));
calEzaf.Clear();
foreach (var item in EzafArray)
{
if (item.Value.Count()%2==0)
{
for (int i = 0; i < item.Value.Count(); i = i + 2)
{
DateTime dt1 = DateTime.Parse(item.Value[i]);
DateTime dt2 = DateTime.Parse(item.Value[i + 1]);
TimeSpan tp = dt2 - dt1;
calEzaf.Rows.Add(item.Key, tp.ToString(), dt1);
}
}
else
{
for (int i = 0; i < item.Value.Count()-1; i = i + 2)
{
DateTime dt1 = DateTime.Parse(item.Value[i]);
DateTime dt2 = DateTime.Parse(item.Value[i + 1]);
TimeSpan tp = dt2 - dt1;
calEzaf.Rows.Add(item.Key, tp.ToString(), dt1);
}
}
}
}
所以我用下面的代码,以从中提取数据由我不能得到数据。这功能不返回数据。
public string ReadEzafKariFromDataTable(string IDp, DateTime dt)
{
string[] d = dt.ToString().Split(' ');
IEnumerable<DataRow> selectedRows =
calEzaf.AsEnumerable().Where(row => (row.Field<DateTime>("date").Equals(d[0])) && row.Field<int>("IDp")==(int.Parse(IDper)));
foreach (DataRow row in selectedRows)
{
return row["duration"].ToString();
}
return "";
}
您预计什么这行'row.Field( “日期”)等于(d [0])'做 –
我想。搜索按日期和ID所以我分裂日期时间('')使用像这样的日期时间的第一部分'2017-02-10 12:24:23'我只想使用'2017-02-10'搜索 – Shayan
你插入字符串,但期待强类型数据回来?那是不会发生的 – swe