c# datatable批量插入数据库,服务器上的数据库同步,不用写sql语句,简单迅速

这是我自己查了很多资料,然后写了一个程序,测试通过没问题。

前提:datatable必须和你的数据库对应表结构一致。

适用于:不同服务器上的数据库同步:

废话少说,上代码:

tableName是表的表名。

public void insertSql(string tableName)
        {
            SqlConnection conS = new SqlConnection(connectStringServer);
            SqlConnection conC = new SqlConnection(connectStringClient);
            conS.Open();
            conC.Open();

            string sql = "select * from " + tableName;
            SqlCommand com = new SqlCommand(sql, conS);          
            SqlDataAdapter sa = new SqlDataAdapter(com);
            DataSet ds = new DataSet();
            sa.Fill(ds);

            //先删除本地数据库在插入
            string sqlBendi = "delete from " + tableName;
            SqlCommand comBendi = new SqlCommand(sqlBendi, conC);
            comBendi.ExecuteNonQuery();

            SqlTransaction sqlbulkTransaction = conC.BeginTransaction();
            SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(conC, SqlBulkCopyOptions.CheckConstraints, sqlbulkTransaction);
            sqlbulkcopy.DestinationTableName = tableName;//
            sqlbulkcopy.WriteToServer(ds.Tables[0]);            
            sqlbulkTransaction.Commit();

            conC.Close();
            conS.Close();
        }


你可能感兴趣的:(c#)