根据列C#将DataTable拆分成多个DataTable
Split DataTable into multiple DataTables based on column C#
我已将 CSV 文件上传到数据表,现在想要填充现有数据库,但是 CSV 文件中的值包含需要填充到数据库中多个表的列。我的理论是将 dataTable 拆分为多个表,然后分别填充数据库表。首先,这是最好的方法吗?其次,如何根据列名拆分数据表?
例如,我上传了一个包含以下内容的 CSV 文件 headers:
Student_No,姓氏,名字,Module_Code,Module_Name,Staff_No,姓氏,名字。
然后我想将数据表拆分为:
数据表 1
Student_No、姓氏、名字
数据表 2
Module_Code、Module_Name
数据表 3
Staff_No,姓氏,名字
非常感谢所有帮助,谢谢。
更新!
我通过复制 DataTable 并删除我不需要填充数据库的列来创建多个 DataTable,从而设法按列名拆分 DataTable。
private static DataTable SplitDataTableModule(DataTable d1)
{
DataTable dataTable1;
dataTable1 = d1.Copy();
dataTable1.Columns.RemoveAt(0); // remove student_no
dataTable1.Columns.RemoveAt(1); // remove student surname
dataTable1.Columns.RemoveAt(2); // remove student firstname
dataTable1.Columns.RemoveAt(5); // remove staff_no
dataTable1.Columns.RemoveAt(6); // remove staff surname
dataTable1.Columns.RemoveAt(7); // remove staff firstname
return d1;
}
我已将 CSV 文件上传到数据表,现在想要填充现有数据库,但是 CSV 文件中的值包含需要填充到数据库中多个表的列。我的理论是将 dataTable 拆分为多个表,然后分别填充数据库表。首先,这是最好的方法吗?其次,如何根据列名拆分数据表?
例如,我上传了一个包含以下内容的 CSV 文件 headers:
Student_No,姓氏,名字,Module_Code,Module_Name,Staff_No,姓氏,名字。
然后我想将数据表拆分为:
数据表 1
Student_No、姓氏、名字
数据表 2
Module_Code、Module_Name
数据表 3
Staff_No,姓氏,名字
非常感谢所有帮助,谢谢。
更新!
我通过复制 DataTable 并删除我不需要填充数据库的列来创建多个 DataTable,从而设法按列名拆分 DataTable。
private static DataTable SplitDataTableModule(DataTable d1)
{
DataTable dataTable1;
dataTable1 = d1.Copy();
dataTable1.Columns.RemoveAt(0); // remove student_no
dataTable1.Columns.RemoveAt(1); // remove student surname
dataTable1.Columns.RemoveAt(2); // remove student firstname
dataTable1.Columns.RemoveAt(5); // remove staff_no
dataTable1.Columns.RemoveAt(6); // remove staff surname
dataTable1.Columns.RemoveAt(7); // remove staff firstname
return d1;
}