【发布时间】:2021-11-25 12:20:20
【问题描述】:
我有 2 张表,其中一张有列:
- 物品编号
- 号码
- 标题
- 创建日期
- 最后修改日期
还有一个有柱子的:
- 物品编号
- 标题
- 物品标题
我要做的是创建一个新的数据表,它克隆第一个添加了“功能”列的数据表,该列的值将来自第二个数据表的 ItemTitle 列。
我是这样做的:
DataTable test = dtFinal.Clone();
test.Columns.Add("Function");
foreach (DataRow row in dtFinal.Rows)
{
DataRow[] FunctionData = customPropertiesTable.Select(string.Format("ItemId='{0}' AND Title ='Function'", Convert.ToString(row["ItemId"])));
if (FunctionData != null && FunctionData.Length > 0)
{
string detail = FunctionData[0]["ItemTitle"].ToString();
var lst = row.ItemArray.ToList();
lst.Add(detail);
test.Rows.Add(lst.ToArray());
}
}
现在这确实有效,但这意味着新表将只显示满足该条件的行,我想做的是让新表仍然包含不满足条件的行,所以我可能会以这样的方式结束:
如果不满足条件,该行的函数值可能为空。我如何更新我为此所做的工作?
【问题讨论】:
-
我的问题有什么不清楚的地方吗?只是想知道是否需要改进才能获得人们的互动
-
您的问题信息太多,大部分与问题本身无关。看来您只是不知道如何正确地从数据库中获取数据。我建议您从创建一些简单的数据库并从其表中获取行开始。然后尝试执行更复杂的查询并获得结果。当你获得足够的经验时,你可以回到你的问题。
-
编写正确的 else 块似乎更成问题。如果满足条件,则执行此操作,否则执行此操作。
-
我一直认为它与此有关,但我不完全确定如何正确编写它,所以它可以满足我的需求
-
你有什么建议@Steve?