问题描述
DataTabledt=newDataTable();DataTabledtnew=dt_OD_BAS.Clone();IEnumerable<DataRow>rows=fromdt1indt_OD_BAS.AsEnumerable()selectdt1;foreach(DataRowdrinrows){dtnew.ImportRow(dr);}intidtrows=rows.Count();if(idtrows==0){dt.Clear();}else{dt=rows.CopyToDataTable<DataRow>();}
原表是dt_OD_BAS,通过linq筛选得到rows(where条件略掉了,就当是全选了吧),通过2种方法得到dt和dtnew表,通过可视化工具看到原表和dt和dtnew是一样的,然后通过下面的语句更新到数据库。stringstrSql="SELECT*FROM"+GlobalCache.table_OD_BAS+"WHERE1=0";SqlDataAdapteradapter=newSqlDataAdapter(strSql,sqlCon);SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);adapter.Update(dt);adapter.Update(dtnew);adapter.Update(dt_OD_BAS);
结果是只有adapter.Update(dtnew);和adapter.Update(dt_OD_BAS);这两句能更新到SQLServer里。为什么呢?
时间: 2024-12-03 23:39:06