C#里怎样把一个DataTable的数据追加进数据库里的某个表

来源:互联网 发布:字体管家mac版 编辑:程序博客网 时间:2024/05/01 19:24

方法一

DataTable table = new DataTable();            //TODO: init table...            string connStr = "user id=" + dbInfo.UserName + ";data source=" + dbInfo.DBServerIP + ";persist security info=False;initial catalog=" + dbInfo.DatabaseName + ";password=" + dbInfo.Password;            SqlConnection conn = new SqlConnection(connStr);            conn.Open();            SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(conn);            sqlBulkCopy.DestinationTableName = dbInfo.TableName;            sqlBulkCopy.WriteToServer(table);            sqlBulkCopy.Close();

方法二

DataTable table = new DataTable();            //TODO: init table...            string connStr = "user id=" + dbInfo.UserName + ";data source=" + dbInfo.DBServerIP + ";persist security info=False;initial catalog=" + dbInfo.DatabaseName + ";password=" + dbInfo.Password;            DataTable dt = new DataTable();            SqlConnection conn = new SqlConnection(connStr);            SqlCommand cmd = new SqlCommand(string.Format("select * from {0} where 1=2", dbInfo.TableName), conn);            SqlDataAdapter sda = new SqlDataAdapter(cmd);            SqlCommandBuilder Builder = new SqlCommandBuilder(sda);            sda.Fill(dt);            DataRow addRow = null;            foreach (DataRow row in table.Rows)            {                addRow = dt.NewRow();                for (int i = 0; i < table.Columns.Count; i++)                {                    addRow[i] = row[i];                }                dt.Rows.Add(addRow);            }            sda.Update(dt);


总结

1. 只有 Insert ? 那么用 SqlBulkCopy.
2. Insert/Update/Delete ? 那么用 DataAdapter.Update.


0 0
原创粉丝点击