loading ...
loading...

2007-09-17 | C#中XML文件数据导入到SQL数据库源码

分享

1.xml文件内容

<?xml version="1.0" encoding="GB2312"?>
<Test>
<Test UID="4" UName="sa" Birthday="2007-09-17 18:52:00"/>
<Test UID="6" UName="s2" Birthday="2007-09-17 18:53:00"/>
<Test UID="9" UName="sa2" Birthday="2007-09-18  18:54:00"/>
</Test>

C#的操作源码:

 private void button1_Click(object sender, System.EventArgs e)
  {
   try
   {
                SqlConnection conn=new SqlConnection("server=.;database=Test;uid=sa;pwd=");
          string sql="select * from Test";
          SqlDataAdapter da=new SqlDataAdapter(sql,conn);
          DataSet ds=new DataSet();

    da.Fill(ds,"Test");
    
  
    DataSet ds2=new DataSet();
    ds2.ReadXml(@"c:\1.xml");
    DataTable dt=ds2.Tables[0];

    
    ds.Merge(dt,true,MissingSchemaAction.Ignore);//关键所在,合并两个ds到一张表中
    this.dataGrid1.DataSource=ds.Tables[0];
    SqlCommandBuilder sb=new SqlCommandBuilder(da);
    if(ds.Tables["Test"].GetChanges()==null)
    {
     da.Update(ds,"Test");
     ds.AcceptChanges();//真正的更新数据库 调用 ds.RejectChanges() 取消更新。
     MessageBox.Show("更新成功!");
    }
    else
     MessageBox.Show("更新失败!");
    

   }
   catch(Exception ex)
   {
    MessageBox.Show(ex.Message);
   }
  }

分享 分享 |  评论 (0) |  阅读 (?)  |  固定链接 |  类别 (C#) |  发表于 21:46
搜狐博客温馨提示:警惕博客留言诈骗, 搜狐博客管理员的正确地址为http://admin.blog.sohu.com, 其他都是冒牌。搜狐博客官方不会要求参加活动的各位博友缴纳任何的手续费用。请勿轻信留言、评论中的中奖信息,更不要拨打陌生电话及向陌生帐户汇款,谨防受骗!识别更多网络骗术,请 点击查看详情
您还未登录,只能匿名发表评论。或者您可以 登录 后发表。
 
  一个单亲妈妈的心愿:治好7岁儿子的白血病
表  情:
加载中...
回复通知: 同时用小纸条通知对方该回复