方法一:
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.