Простой способ вставить строки dataTable в базу данных - PullRequest
2 голосов
/ 09 декабря 2011

У меня есть dataTable, немного отличающийся дополнительными внешними полями из таблицы базы данных. Есть ли способ вставить эти строки без зацикливания в строках?

Если моя таблица данных будет такой же, как у таблицы базы данных, могу ли я вставить ее быстро?

Ответы [ 2 ]

0 голосов
/ 09 декабря 2011

да, вы можете сделать это с помощью кода ниже

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConsoleApplication3.Properties.Settings.daasConnectionString"].ConnectionString))
{
  cn.Open();

  using (SqlBulkCopy copy = new SqlBulkCopy(cn))
  {
    copy.ColumnMappings.Add(0, 0);
    copy.ColumnMappings.Add(1, 1);
    copy.ColumnMappings.Add(2, 2);
    copy.ColumnMappings.Add(3, 3);
    copy.ColumnMappings.Add(4, 4);

    copy.DestinationTableName = "tNorthwind";

    copy.WriteToServer(dt);
  }
}  

http://www.codeproject.com/KB/database/DataTableToDataBase.aspx

0 голосов
/ 09 декабря 2011

Я не уверен из вашего вопроса, если схемы одинаковы. Если это так, вы можете просто создать адаптер и вызвать обновление. Пример использования ODBC ...

public void Update(DataTable table)
{
OdbcConnection connection = new OdbcConnection(...);
OdbcDataAdapter adapter = new OdbcDataAdapter("SELECT * FROM TABLENAME", connection);

OdbcCommandBuilder builder = new OdbcCommandBuilder(adapter);
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.InsertCommand = builder.GetInsertCommand();
adapter.DeleteCommand = builder.GetDeleteCommand();

adapter.Update(table);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...