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;
}
}
}