|
方法1:DataTable方式 /// <summary> /// 批量新增数据(限Excel使用) /// </summary> /// <param name="dt">DataTable(其中的列名要与数据库表列名一致)</param> public int BatchAdd(DataTable dt) { int rs = 1; SqlConnection sqlConn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]); try { sqlConn.Open(); SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(sqlConn); sqlbulkcopy.DestinationTableName = "PhoneToQRCode";//数据库中的表名 sqlbulkcopy.WriteToServer(dt); } catch (Exception ex) { rs = 0; } finally { sqlConn.Close(); } return rs;
}
-----解决方案-------------------- SqlBulkCopy不是根据表的ColumnName来匹配的,而是根据ColumnIndex匹配, 也就是说你的表 字段必须跟数据库的表字段完全一致(Index的排序要跟数据表的一样)。 就算你该字段不打算给他插入值,也要建个DataColumn。包括自增ID.不需要给他值就好了 |