苏飞论坛

标题: 【已解决】Datatable写入到数据库怎么写最快啊? [打印本页]

作者: zjwang123    时间: 2014-3-11 16:35
标题: 【已解决】Datatable写入到数据库怎么写最快啊?
本帖最后由 zjwang123 于 2014-3-14 12:50 编辑

Datatable写入到数据库怎么写最快啊?

作者: 站长苏飞    时间: 2014-3-11 16:51
这个要看数据量
作者: zjwang123    时间: 2014-3-12 00:10
站长苏飞 发表于 2014-3-11 16:51
这个要看数据量

Datatable里有6W多条数据,循环感觉有点慢
作者: 夜雨蒙蒙    时间: 2014-3-12 01:01
有函数,直接将datatable导入数据库,你用的是什么数据库?sqlsever吗?

作者: 夜雨蒙蒙    时间: 2014-3-12 01:04
2.批量把数据导入到数据库

1SQL SERVER版本


public bool SqlBulkCopyImport(IList<string> maplist, string TableName, DataTable dt)



{



using (SqlConnection connection = new SqlConnection(connectionString))



{



connection.Open();



using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))



{



bulkCopy.DestinationTableName = TableName;



foreach (string a in maplist)



{



bulkCopy.ColumnMappings.Add(a, a);




}



try



{



bulkCopy.WriteToServer(dt);



return true;



}



catch (Exception e)



{



throw e;



}



}



}



}


作者: 站长苏飞    时间: 2014-3-12 07:58
好像只能用循环暂时,应该也不会多慢,估计最多半分钟就完了,
作者: zjwang123    时间: 2014-3-14 12:49
夜雨蒙蒙 发表于 2014-3-12 01:04
2.批量把数据导入到数据库
1)SQL SERVER版本

这个方法确实挺快的,非常感谢
作者: 夜雨蒙蒙    时间: 2014-3-14 21:35
zjwang123 发表于 2014-3-14 12:49
这个方法确实挺快的,非常感谢

这种方法我也没试过,代码也是在网上找到的,能帮到你就好~
作者: lixiaowei172    时间: 2014-8-4 12:16
受教了,学习中……
作者: wx_Rmt3m7ZE    时间: 2018-6-25 15:39
BULK是MSSQL批量导入数据的唯一解




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4