DataTable批量导写入数据库

128 阅读1分钟

注意datatable里的列要和数据库重的键要对应。数量和名称都得对应

public static void BatchInsert(DataTable dt, string tableName)
        {
            string connstr = Properties.Settings.Default.lswxConnectionString;
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                Stopwatch sw = new Stopwatch();
                SqlBulkCopy bulkCopy = new SqlBulkCopy(conn);
                bulkCopy.DestinationTableName = tableName;
                bulkCopy.BatchSize = dt.Rows.Count;
                conn.Open();
                sw.Start();
                if (dt != null)
                {
                    bulkCopy.WriteToServer(dt);
                    sw.Stop();
                }
                conn.Close();
            }
        }