gpt4 book ai didi

c# - 比较数据集或更好的想法

转载 作者:行者123 更新时间:2023-11-30 21:24:49 24 4
gpt4 key购买 nike

如何比较一个数据集与另一个数据集的值。

第一个数据集 ["proper records"] 来自带有列名的 SQL Server

 [id], [subsNumber]

第二个数据集 ["proper and inproper records"] 来自进度数据库,除了 1 是 subsNumber

之外还有不同的列

我如何制作另一个数据集,其中包含来自 ["proper records"] 的所有 [subsNumber] 以及来自第二个数据集 ["proper inproper records"] 的匹配记录?

删除第二个数据集中所有与第一个数据集中的“subsNumber”列不匹配的记录["proper and inproper records"]

或任何其他想法

基本上,如何从与第一个数据集具有相同“subsNumber”的第二个数据集中获取所有记录

最佳答案

关键是使用 System.Data.DataRelation 将您的 2 个数据表连接到一个(或多个)公共(public)列。

这里有一些代码来自 KC's See Sharp Blog 的帖子

public DataTable GetImproperRecords(DataTable ProperRecords, DataTable ImproperRecords) {
DataTable relatedTable = new DataTable("Difference");
try {
using (DataSet dataSet = new DataSet()) {
dataSet.Tables.AddRange(new DataTable[] { ProperRecords.Copy(), ImproperRecords.Copy() });

DataColumn properColumn = new DataColumn();
properColumn = dataSet.Tables[0].Columns[1]; // Assuming subsNumber is at index 1

DataColumn improperColumn = new DataColumn();
improperColumn = dataSet.Tables[1].Columns[0]; // Assuming subsNumber is at index 0

//Create DataRelation
DataRelation relation = new DataRelation(string.Empty, properColumn, improperColumn, false);

dataSet.Relations.Add(relation);

//Create columns for return relatedTable
for (int i = 0; i < ImproperRecords.Columns.Count; i++) {
relatedTable.Columns.Add(ImproperRecords.Columns[i].ColumnName, ImproperRecords.Columns[i].DataType);
}

relatedTable.BeginLoadData();

foreach (DataRow parentrow in dataSet.Tables[1].Rows) {
DataRow[] childrows = parentrow.GetChildRows(relation);

if (childrows != null && childrows.Length > 0)
relatedTable.LoadDataRow(parentrow.ItemArray, true);

}

relatedTable.EndLoadData();

}
}
catch (Exception ex) {
Console.WriteLine(ex.Message);
}

return relatedTable;
}

关于c# - 比较数据集或更好的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1014906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com