DataSet 读取xml 导入数据

 187713732 asp.net 交流群,希望有更多的人可以加入,大家可以互相学习,帮助需要帮助的人,帮助刚入门的同行或即将入门的同行解决问题。

将整个数据库的数据导出到一个xml文件中,然后导入,这里只有导入方法,导入时解决了xml时日期格式转换,但没有解决主外键和已存在行的问题。 

 private void btnIprot_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ds.ReadXml("D:\\ds1.xml");
            // 遍历读取xml文件的表
            for (int i = 0; i < ds.Tables.Count; i++)
            {
                int t1 =-1;
                int t2= -1;
                string tableName = ds.Tables[i].TableName;
                string sqlcom = "insert into [" + tableName + "](";
                for (int colu = 0; colu < ds.Tables[i].Columns.Count; colu++)
                {
                    if (ds.Tables[i].Columns[colu].ColumnName.ToString() == "Time1")
                    {
                        t1 = colu;
                    }
                    if (ds.Tables[i].Columns[colu].ColumnName.ToString() == "Time2")
                    {
                        t2 = colu;
                    }

                    sqlcom = sqlcom + ds.Tables[i].Columns[colu].ColumnName.ToString() + ",";
                }
                sqlcom = sqlcom.Substring(0, sqlcom.Length - 1) + ") values(";
                string sqlcom1 = sqlcom;
                    for (int r = 0; r < ds.Tables[i].Rows.Count; r++)
                    {
                        for (int colName = 0; colName < ds.Tables[i].Columns.Count; colName++)
                        {
                            if (colName == t1 || colName == t2)
                            {
                               string xx = ds.Tables[i].Rows[r][colName].ToString();
                                DateTime dt = Convert.ToDateTime(xx);
                                sqlcom = sqlcom + "'" + dt + "',";
                            }
                            else
                            {
                                sqlcom = sqlcom + "'" + ds.Tables[i].Rows[r][colName].ToString().Replace("'", "'") + "',";
                            }
                        }
                        sqlcom = sqlcom.Substring(0, sqlcom.Length - 1) + ");";
                        SqlCommand comm = new SqlCommand(sqlcom, conn);
                        comm.ExecuteNonQuery();
                        sqlcom = sqlcom1;
                    }
                   
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值