C# 如何将datatable列和值复制到另一个datatable
我有一个数据表dt1,它有4列(姓名、地址、联系人、标记),其中有0行,另一个数据表dt2有2列(StdName、StdAddress),其中只有几行 当我在做类似dt1=dt2.copy()的事情时;那么我的dt1就要换了。这是我不想要的 我想将dt2列和值复制到dt1。因此,在我的dt1的列(名称和地址)中,将填充stdName和StdAddress值 请有人帮我怎么做。试试这个C# 如何将datatable列和值复制到另一个datatable,c#,datatable,C#,Datatable,我有一个数据表dt1,它有4列(姓名、地址、联系人、标记),其中有0行,另一个数据表dt2有2列(StdName、StdAddress),其中只有几行 当我在做类似dt1=dt2.copy()的事情时;那么我的dt1就要换了。这是我不想要的 我想将dt2列和值复制到dt1。因此,在我的dt1的列(名称和地址)中,将填充stdName和StdAddress值 请有人帮我怎么做。试试这个 DataTable dtEmp = new DataTable("EMP"); dtEmp.C
DataTable dtEmp = new DataTable("EMP");
dtEmp.Columns.Add("Name", typeof(String));
dtEmp.Columns.Add("Address", typeof(String));
dtEmp.Columns.Add("Contact", typeof(String));
dtEmp.Columns.Add("Marks", typeof(String));
DataTable dtStd = new DataTable("STD");
dtStd.Columns.Add("StdName", typeof(String));
dtStd.Columns.Add("StdAddress", typeof(String));
foreach (DataColumn dc in dtStd.Columns)
{
dtEmp.Columns.Add(dc.ColumnName, dc.DataType);
}
// Import rows from dtStd Table.
我试过这个
它帮助我解决问题。for(int k=0;k for (int k = 0; k < dt2.Rows.Count; k++)
{
dt1.Rows[k]["Name"] = dt2.Rows[k]["StdName"];
dt1.Rows[k]["Address"] = dt2.Rows[k]["StdAddress"];
}
{
dt1.Rows[k][“Name”]=dt2.Rows[k][“StdName”];
dt1.行[k][“地址”]=dt2.行[k][“StdAddress”];
}
试试这个:
for (int i = 0; i < dt2.Rows.Count; i++)
{
dt1.Rows.Add(dt2.Rows[i][0], dt2.Rows[i][1]);
}
for(int i=0;i
试试看
DataTable dt1 = new DataTable();
dt1.Columns.Add("col1", typeof(String));
dt1.Columns.Add("col2", typeof(String));
dt1.Columns.Add("col3", typeof(String));
dt1.Columns.Add("col4", typeof(String));
DataTable dt2 = new DataTable();
dt2.Columns.Add("col5", typeof(String));
dt2.Columns.Add("col6", typeof(String));
dt1.Merge(dt2);
我知道这是旧的,但数据来自哪里 如果要查询sql数据库,只需更改:
SELECT <column1>, <column2> FROM...
SELECT <column2>, <column1> FROM...
选择,从。。。
选择,从。。。
查询并返回包含所需列的datatable。我不确定,但您可以试试这个
Datatable1.Merge(Datable2)
它将为您提供如下输出您可以克隆对表的引用,并通过调用clear删除行,如下所示:
for (int k = 0; k < dt2.Rows.Count; k++) {
dt1.Rows[k]["Name"] = dt2.Rows[k]["StdName"];
dt1.Rows[k]["Address"] = dt2.Rows[k]["StdAddress"];
}
NewDataTable= OldDatatable.Clone();
NewDataTable.rows.clear();
除了
Copy()
,你还尝试过其他方法吗?没有,请告诉我其他的尝试方法?我想让你知道,几年后,这就是帮助我解决问题的方法+1回顾:嗨,请不要仅仅用源代码回答。试着提供一个关于你的解决方案如何工作的很好的描述。请参阅:。谢谢
For r = 0 To t2.Rows.Count - 1
t1.Rows(r)("Stat") = t2.Rows(r)("Stat")
t1.Rows(r)("Dest") = t2.Rows(r)("Dest")
t1.Rows(r)("Orig") = t2.Rows(r)("Orig")
Next
NewDataTable= OldDatatable.Clone();
NewDataTable.rows.clear();