데이터베이스 테이블의 일부 외부 필드와 약간 다른 dataTable이 있습니다. 행을 반복하지 않고 이러한 행을 삽입하는 방법이 있습니까?dataTable의 행을 데이터베이스에 삽입하는 쉬운 방법
내 데이터 테이블이 데이터베이스 테이블과 동일하면 신속하게 삽입 할 수 있습니까?
데이터베이스 테이블의 일부 외부 필드와 약간 다른 dataTable이 있습니다. 행을 반복하지 않고 이러한 행을 삽입하는 방법이 있습니까?dataTable의 행을 데이터베이스에 삽입하는 쉬운 방법
내 데이터 테이블이 데이터베이스 테이블과 동일하면 신속하게 삽입 할 수 있습니까?
예, 당신은 코드
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
이하로 사용하여이 작업을 수행 할 수 있습니다스키마가 동일한 지 궁금한 점이 있습니다. 그런 다음 어댑터를 만들고 업데이트를 호출하면됩니다. 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);
}