如果批量插入修改删除?

hling 2011-03-31 02:16:20
我要处理一批数据,没有的插入,不要的删除,有些要修改,一次完成。如何做?
...全文
315 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
star7827 2011-04-02
  • 打赏
  • 举报
回复
把你所有的数据都填充到一个DataSet中取,然后依次性更新数据库,很简单啊。。。
(此DataSet不管是删除还是更新,还是新增,都在里面,只是这样的话大数据量会很吃内存的)
xrongzhen 2011-04-02
  • 打赏
  • 举报
回复
写个事务,把你要更新的操作统统 放进去

都不知道你是要SQL 还是Web的代码
IT0329 2011-04-02
  • 打赏
  • 举报
回复
wlf535944903 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 rock870210 的回复:]
获取列表保存在DataSet中,查询时通过DataAdapter来绑定到DataSet,更新的数据全部保存在DataSet中,传给DataAdapter,使用其Update方法更新
参考:
C# code

static private DataSet CreateCommandAndUpdate(
string connectionString,
string que……
[/Quote]
+1

yunan19821019 2011-04-02
  • 打赏
  • 举报
回复
循环拼SQL
遊戲王千金 2011-04-01
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110228/09/372ea073-ca71-4d68-b4a4-5e4aa3d148e1.html
telankes2000 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 hling 的回复:]
老兄我知道用SqlAdapter.Update,但不知道怎么设置
[/Quote]
我给你的参考 就是批量增删改的例子
看来都喜欢直接贴代码啊 给链接都不看的
hling 2011-03-31
  • 打赏
  • 举报
回复
表字段有一个自动增加的标识
hling 2011-03-31
  • 打赏
  • 举报
回复
老兄我知道用SqlAdapter.Update,但不知道怎么设置
  • 打赏
  • 举报
回复
不过你可以把数据先填充到一个DataSet里,然后将新数据更新(增、删、改)到DataSet
最后用SqlAdapter.Update(DataSet["tableName"])方法更新
在这个方法内部,其实还是遍历所有行,按RowState来更新至数据库中的
所以这样看起来就达到了“一步到位”的效果
ycproc 2011-03-31
  • 打赏
  • 举报
回复
所谓的 批量 也只是把 值 循环的 一条一条的 操作
jiege 2011-03-31
  • 打赏
  • 举报
回复
  protected void update_Click(object sender, EventArgs e)
{

//access不支持多语句的;Select * from Categories;select * from Orders在SqlServer中支持
/*for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow row = GridView1.Rows[i];
string empID = ((TextBox)row.Cells[0].FindControl("txtID")).Text.Replace("'", "");
string empRealName = ((TextBox)row.Cells[0].FindControl("txtRealName")).Text.Replace("'", "");
string empSex = ((DropDownList)row.Cells[0].FindControl("ddlSex")).SelectedValue;
string empAddress = ((TextBox)row.Cells[0].FindControl("txtAddress")).Text.Replace("'", "");
query.Append("update Employee set EmpID='" + empID + "',EmpRealName='" + empRealName + "',EmpSex='" + empSex + "',EmpAddress='" + empAddress + "' where ID=" + GridView1.DataKeys[i].Value + "");
query.Append(";");
}
Common.ExecuteSql(query.ToString());
bind();*/
for (int i = 0; i < GridView1.Rows.Count; i++)
{
StringBuilder query = new StringBuilder();
GridViewRow row = GridView1.Rows[i];
string empID = ((TextBox)row.Cells[0].FindControl("txtID")).Text.Replace("'", "");
string empRealName = ((TextBox)row.Cells[0].FindControl("txtRealName")).Text.Replace("'", "");
string empSex = ((DropDownList)row.Cells[0].FindControl("ddlSex")).SelectedValue;
string empAddress = ((TextBox)row.Cells[0].FindControl("txtAddress")).Text.Replace("'", "");
query.Append("update Employee set EmpID='" + empID + "',EmpRealName='" + empRealName + "',EmpSex='" + empSex + "',EmpAddress='" + empAddress + "' where ID=" + GridView1.DataKeys[i].Value + "");
Common.ExecuteSql(query.ToString());
}
bind();
}

这是一个GridView1的批量删除的方法
kingdom_0 2011-03-31
  • 打赏
  • 举报
回复
linq操作简单,方便,可以一试。
chen_ya_ping 2011-03-31
  • 打赏
  • 举报
回复
linq,是很好的啊。
mingl11 2011-03-31
  • 打赏
  • 举报
回复
学习了 dataset更新数据库的方法还没用过。。。
hling 2011-03-31
  • 打赏
  • 举报
回复
用一个DataSet实现插入修改删除
lanqiang456 2011-03-31
  • 打赏
  • 举报
回复
额 可以做一张EXCEL表 然后把数据填在里面 再通过程序 把EXCEL 导入到数据库中`````这是别人教我的方法```
xiaolin10075 2011-03-31
  • 打赏
  • 举报
回复
查找记录加入数据集中,遍历数据集,根据条件来插入、删除、修改了
telankes2000 2011-03-31
  • 打赏
  • 举报
回复
davidcoffee 2011-03-31
  • 打赏
  • 举报
回复
如楼上所说用适配器,
批量删除可用类似如下语句
DELETE FROM TestTable WHERE ID IN (1, 3, 54, 68) --sql2005下运行通过
批量插入可用类似如下语句
INSERT INTO TestTable SELECT 1, 'abc' UNION SELECT 2, 'bcd' UNION SELECT 3, 'cde'
加载更多回复(11)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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