内存中数据批量更新到数据库

mistysunlight 2009-05-18 02:37:44
现在在内存中有一批数据...

IList<TableDataSource> AllData = GetInfoData();
// AllData 里面包含有更新,删除,添加的数据
// 1. 批量添加:已经处理好了.
/*...*/
// 2. 批量更新暂无思路.
// 3. 批量删除,也暂无思路


网上说的使用SqlDataAdapter来更新,需要先使用"SELECT * FROM table_name"先查遍数据库.用SqlCommandBuilder来创建需要更新删除的CommandText.
我想知道,有没有更好的方法来处理这种问题?
我想达到的效果是:
内存中重组好需要更新,删除的数据,之后,可以批量更新或删除数据库的数据.

如果哪位兄台有更好的方法,也请指导下.多谢!
...全文
136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mistysunlight 2009-05-18
  • 打赏
  • 举报
回复
@vbdotnet2001:
是二楼我提供的这种方法吗?
如果不是能否提供部分示例代码?

我其实用二楼提供的方法已经能解决问题,只是,在特殊的情况下,会不稳定...
毕竟不是一个程序在使用Update & Delete,有很多程序并发执行.
vbdotnet2001 2009-05-18
  • 打赏
  • 举报
回复
用带参数的sql语句,放在一个循环中,一边给参数赋值一边update
mistysunlight 2009-05-18
  • 打赏
  • 举报
回复
帖子沉的可真快...
mistysunlight 2009-05-18
  • 打赏
  • 举报
回复
楼上的兄台是不是以下的意思:


foreach(DataRow dr in DataSet.Tables[0].Rows)
{
// 这里组建SQL的相关参数,之后更新?
}



那我提供以下这种方式,

// 假设 AllData 是 IList<InfoObject>,我现在用以下方式更新.
foreach(InfoObject Info in AllData)
{
// 添加SQL的Parameters,之后,直接执行一条Update,或 Delete的SQL语句.
}

是否和楼上兄台的方法一样的呢?
请指教...
zzxap 2009-05-18
  • 打赏
  • 举报
回复
把数据填充到dataset
dataset.tables[0].rows[i][j] 遍历里面的行列,你想怎么弄就怎么弄

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧