CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

怎样将DataSet一次性保存到数据库中去?

楼主foxconn_nich(Blog: http://www.jemy.cn)2006-11-03 19:03:14 在 .NET技术 / ASP.NET 提问

如题,我从页面上导入了一个Excel,经过处理后保存在内存中的DataSet中,现在怎样将这个DataSet一次性保存到数据库中去呢? 问题点数:40、回复次数:19Top

1 楼foxconn_nich(Blog: http://www.jemy.cn)回复于 2006-11-06 08:35:29 得分 0

顶,等人Top

2 楼dengkz1(@广州)回复于 2006-11-06 09:13:58 得分 0

upTop

3 楼MSTOP(陈建华)回复于 2006-11-06 09:23:01 得分 0

,现在怎样将这个DataSet一次性保存到数据库中去呢?  
  ===========================================================  
  什么意思?序列化?Top

4 楼lbh119()回复于 2006-11-06 09:33:25 得分 0

update()Top

5 楼ipqxiang(Seans)回复于 2006-11-06 10:22:38 得分 0

好象没有这种方法吧,只能一条条新增吧,我也想知道...Top

6 楼bbbg()回复于 2006-11-06 10:26:56 得分 0

将DataSet关联到一个DataAdapter  
  Top

7 楼dick78(vs2005+Ajax)回复于 2006-11-06 11:08:35 得分 0

顶Top

8 楼MSTOP(陈建华)回复于 2006-11-06 12:40:06 得分 0

这得写程序,而且还比较复杂.还要结合具体是哪种类型的数据库.总之,没一千行左右的代码.是写不来Top

9 楼foxconn_nich(Blog: http://www.jemy.cn)回复于 2006-11-06 12:41:29 得分 0

真没办法?Top

10 楼haodouzhe123x(涉足CSDN)回复于 2006-11-06 13:36:20 得分 0

就目前我所知,还真的没办法解决,如MSTOP(陈建华)兄所说:还要结合具体是哪种类型的数据库.总之,没上百行代码.是写不来Top

11 楼PCHWBANK()回复于 2006-11-06 14:14:01 得分 0

有阿,就时利用dataadapter.update()方法Top

12 楼eastsun_genius(大漠狂沙)回复于 2006-11-06 14:23:57 得分 0

SqlCommand   cmd=new   SqlCommand(Sql,Conn);  
  cmd.CommandTimeout=COMMANDTIMEOUT;  
  cmd.CommandType=CommandType.Text;  
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);  
  SqlCommandBuilder   cb=new   SqlCommandBuilder(da);  
  DataSet   dsNew=new   DataSet();  
  da.Fill(dsNew,TableName);  
  //具体你的处理  
  。。。。。。。  
  da.Update(dsNew,TableName);Top

13 楼foxconn_nich(Blog: http://www.jemy.cn)回复于 2006-11-07 08:36:50 得分 0

eastsun_genius(大漠狂沙)  
  -------------------------  
  你是说我整个dataset里面的数据就是你的这个dsNew?直接附给它一次处理就可以了?Top

14 楼bjgzxx(食人一族)回复于 2006-11-07 08:39:41 得分 0

应该是可以处理的Top

15 楼foxconn_nich(Blog: http://www.jemy.cn)回复于 2006-11-08 09:09:17 得分 0

请给出办法啊Top

16 楼winsor_w(.net才是硬道理)回复于 2006-11-08 09:25:15 得分 0

要根据数据新建表?Top

17 楼eastsun_genius(大漠狂沙)回复于 2006-11-22 15:40:27 得分 40

try  
  {  
  SqlConnection   Conn=this.CreateConnection();  
  try  
  {  
  //得到原始数据  
  SqlCommand   cmd=new   SqlCommand(Sql,Conn);  
  cmd.CommandTimeout=COMMANDTIMEOUT;  
  cmd.CommandType=CommandType.Text;  
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);  
  SqlCommandBuilder   cb=new   SqlCommandBuilder(da);  
  DataSet   dsNew=new   DataSet();  
  da.Fill(dsNew,TableName);  
  foreach(DataRow   drOld   in   Data.Tables[0].Rows)  
  {  
  if(drOld.RowState==DataRowState.Added) //增加记录  
  {  
  DataRow   drNew=dsNew.Tables[0].NewRow();  
  foreach(DataColumn   dcNew   in   dsNew.Tables[0].Columns)  
  {  
  if(!dcNew.ReadOnly)  
  {  
  string   strField=dcNew.ColumnName;  
  drNew[strField]=drOld[strField];  
  }  
  }  
  dsNew.Tables[0].Rows.Add(drNew);  
  }  
  else   if(drOld.RowState==DataRowState.Modified) //修改记录  
  {  
  string   strKey=drOld[KeyFieldName,DataRowVersion.Original].ToString();  
  DataRow[]   drs=dsNew.Tables[0].Select(KeyFieldName+"='"+strKey+"'");  
  if(drs.GetLength(0)>0)  
  {  
  DataRow   drModify=drs[0];  
  foreach(DataColumn   dcNew   in   dsNew.Tables[0].Columns)  
  {  
  if(!dcNew.ReadOnly)  
  {  
  string   strField=dcNew.ColumnName;  
  drModify[strField]=drOld[strField];  
  }  
  }  
  }  
  }  
  else   if(drOld.RowState==DataRowState.Deleted) //删除记录  
  {  
  string   strKey=drOld[KeyFieldName,DataRowVersion.Original].ToString();  
  DataRow[]   drs=dsNew.Tables[0].Select(KeyFieldName+"='"+strKey+"'");  
  if(drs.GetLength(0)>0)  
  {  
  for(int   i=drs.GetLength(0)-1;i>=0;i--)  
  {  
  DataRow   drDelete=drs[i];  
  drDelete.Delete();  
  }  
  }  
  }  
  }  
  da.Update(dsNew,TableName);  
  }  
  catch(Exception   e)  
  {  
  throw(e);  
  }  
  finally  
  {  
  this.Dispose(Conn);  
  }  
  }  
  catch(Exception   e)  
  {  
  throw(e);  
  }Top

18 楼jackeyabc(过些天跟布什二女儿订婚))回复于 2007-01-08 19:34:15 得分 0

收藏Top

19 楼taogo(落叶封尘)回复于 2007-03-27 13:00:13 得分 0

upTop

相关问题

关键词

得分解答快速导航

  • 帖主:foxconn_nich
  • eastsun_genius

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo