您的位置:首页 > 数据库

c# 数据库大批量提交

2016-01-26 10:17 513 查看
sql server:

#region sqlserver 大批量数据插入

/// <summary>

/// sqlserver 大批量数据插入

/// </summary>

/// <param name="dt"></param>

/// <param name="tablename">表名</param>

/// <param name="columns">列名</param>

public void BulkInsertForDataTable(DataTable dt, string tablename, string[] columns)

{

using (SqlConnection connection = new SqlConnection(constr_his))

{

connection.Open();

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))

{

try

{

bulkCopy.DestinationTableName = tablename;//要插入的表的表明

//映射字段名 DataTable列名 ,数据库 对应的列名

foreach (string column in columns)

{

bulkCopy.ColumnMappings.Add(column, column);

}

bulkCopy.WriteToServer(dt);

}

catch (Exception ex)

{

//throw new Exception(ex.Message);

}

finally

{

// Close the SqlDataReader. The SqlBulkCopy

// object is automatically closed at the end

// of the using block.

}

}

}

}

#endregion

oracle:

dt2 = new DataTable();

dt = 查询出来的数据;

using (OracleConnection con_qzj = new OracleConnection(constr_qzj))

{

da_qzj = new OracleDataAdapter("", con_qzj);

da_qzj.SelectCommand.CommandText = "select LOCAL_ID from DI_MPI_REGISTERINFO where 1=2";

Oraclecmd = new OracleCommandBuilder(da_qzj);

da_qzj.Fill(dt2);

for (int j = 0; j < dt.Rows.Count; j++)

{

dt2.Rows.Add(dt.Rows[j].ItemArray);

}

da_qzj.Update(dt2);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: