c# datatable 中有两个表,按照学号将B表学号对应的数学成绩更新到A表中去!! 代码实现!!

datatable 中有两个表,按照学号将B表数学成绩更新到A表中去!!图片说明

## **忘记说了 这是C#的问题 不是SQL* 要求代码实现*

静待赐教!!!

DataTable A = new DataTable();
A.Columns.Add("学号");
A.Columns.Add("语文");
A.Columns.Add("数学");
A.Columns.Add("英语");
DataTable B = new DataTable();
B.Columns.Add("学号");
B.Columns.Add("数学");
foreach (DataRow dr in A.Rows)
{
DataRow[] drArr = B.Select("学号='"+ dr["学号"] +"'");
if (drArr.Length > 0)
{
dr["数学"] = drArr[0]["数学"];
dr.EndEdit();
}
}

update DataTableA set DataTableA.数学=DataTableB.数学
from DataTableA join DataTableB on DataTableA.学号=DataTableB.学号

DataTable A = new DataTable();
A.Columns.Add("学号");
A.Columns.Add("语文");
A.Columns.Add("数学");
A.Columns.Add("英语");
DataTable B = new DataTable();
B.Columns.Add("学号");
B.Columns.Add("数学");
foreach (DataRow dr in A.Rows)
{
DataRow[] drArr = B.Select("学号='"+ dr["学号"] +"'");
if (drArr.Length > 0)
{
dr["数学"] = drArr[0]["数学"];
dr.EndEdit();
}
}

foreach(DataRow BR in B.Rows)
{
DataRow[] ARS = A.Select("学号 = " + BR["学号"].ToString());
if(ARS.Length > 0){
ARS[0]["数学"] = BR["数学"];
}
}
A.AcceptChange();

update DataTableA set DataTableA.数学=DataTableB.数学 where DataTableA.学号=DataTableB.学号

insert into B.数学 select A.数学 from A order by 学好

数据库存储的时候是按照索引存储的,你没有设定,存的话是没有顺序的,
存在表中的数据有没有顺序问题也不大吧,只要你查的时候排个序就好了,或者你给B表设置好了就OK了

foreach(DataRow BR in B.Rows)
{
DataRow[] ARS = A.Select("学号 = " + BR["学号"].ToString());
if(ARS.Length > 0){
ARS[0]["数学"] = BR["数学"];
}
}
A.AcceptChange();