C#获取子行列问题
我正在用c#编写一个数据库程序,希望将数据关系添加到项目中。然而,我在获取子行时遇到了问题。我使用了Microsoft文档提供的代码:C#获取子行列问题,c#,database,C#,Database,我正在用c#编写一个数据库程序,希望将数据关系添加到项目中。然而,我在获取子行时遇到了问题。我使用了Microsoft文档提供的代码: static void childRows() { DataRow[] arrRows; foreach(DataRelation relation in dataSet.Tables["Artist"].ChildRelations) { foreach(DataRow row in dataS
static void childRows() {
DataRow[] arrRows;
foreach(DataRelation relation in dataSet.Tables["Artist"].ChildRelations) {
foreach(DataRow row in dataSet.Tables["Artist"].Rows) {
arrRows = row.GetChildRows(relation);
for(int i = 0; i < arrRows.Length; i++) {
foreach(DataColumn column in dataSet.Tables["Artist"].Columns) {
Console.WriteLine(arrRows[i][column.ColumnName]);
}
}
}
}
}
我做错了什么?尝试以下操作:
foreach(DataRelation relation in dataSet.Tables["Artist"].ChildRelations)
{
foreach(DataRow row in relation.ChildTable.AsEnumerable())
{
Console.WriteLine(string.Join(",", row.ItemArray.Select(x => x.ToString())));
}
DataTable dt2 = relation.ChildTable.AsEnumerable().CopyToDataTable();
}
您必须在数据集上添加关系,正如我在中所提到的,我会将其添加到问题中。我认为这应该会有帮助,或者也可能是这样,这很有效!有没有办法让代码使用其他表中的信息创建一个新的datatable,或者我应该使用其他东西?
foreach(DataRelation relation in dataSet.Tables["Artist"].ChildRelations)
{
foreach(DataRow row in relation.ChildTable.AsEnumerable())
{
Console.WriteLine(string.Join(",", row.ItemArray.Select(x => x.ToString())));
}
DataTable dt2 = relation.ChildTable.AsEnumerable().CopyToDataTable();
}