私は以下の列を持つC#.netでデータテーブルを用意していますので、最初にこのデータテーブルを埋め、次に検索でデータを取得しようとします。c#.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 "";
}
等号(D [0])' –
を行うには、私がしたいです検索日付とIDのためにdatetimeを( '')で区切って、このようなdatetimeの最初のセクションを使用します。 '2017-02-10 12:24:23'検索には '2017-02-10'のみを使用します。 – Shayan
文字列を挿入していますが、強く型付けさそれは起こるつもりはありません – swe