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