您的位置:首页 > 数据库

数据库百万条添加的方法

2015-07-01 13:10 274 查看
思路:

.net 创建临时表,然后用SqlBulkCopy把临时表一次性复制的真正的数据表中;

代码如下:

protected void Button1_Click(object sender, EventArgs e)
{

using (SqlConnection connection = new SqlConnection("Data Source=(local);Integrated Security=true;Initial Catalog=FIO;"))
{
connection.Open();
DataTable newProducts = MakeTable();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
{
bulkCopy.DestinationTableName = "dbo.test";
try
{
bulkCopy.WriteToServer(newProducts);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}


private static DataTable MakeTable()
{
// 创建临时表
DataTable newProducts = new DataTable("newtest");
// 给表创建列
DataColumn productID = new DataColumn();
productID.DataType = System.Type.GetType("System.Int32");
productID.ColumnName = "id";
productID.AutoIncrement = true;
newProducts.Columns.Add(productID);

DataColumn productName = new DataColumn();
productName.DataType = System.Type.GetType("System.String");
productName.ColumnName = "name";
newProducts.Columns.Add(productName);

// 给列添加行
for (int i = 0; i < 100000; i++)
{
DataRow dataRow = newProducts.NewRow();
dataRow["name"] =  Guid.NewGuid().ToString();
newProducts.Rows.Add(dataRow);
}
return newProducts;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: