/// <summary> /// /*将新取的数据加入到临时表中*/ /// </summary> /// <param name="dt"></param> public void RankUpdate(DataTable dt) { if (dt == null || dt.Rows.Count == 0) return; SqlBulkCopy sbc = new SqlBulkCopy(SqlHelper.WRITECONNECTIONSTRING); sbc.BulkCopyTimeout = 900; sbc.ColumnMappings.Add("ProductId", "ProductId"); sbc.ColumnMappings.Add("Name", "Name"); sbc.ColumnMappings.Add("ImgPath", "ImgPath"); sbc.ColumnMappings.Add("Price", "Price"); sbc.ColumnMappings.Add("Unit", "Unit"); sbc.ColumnMappings.Add("Type", "Type"); sbc.ColumnMappings.Add("TotalHit", "TotalHit"); sbc.ColumnMappings.Add("ShopId", "ShopId"); sbc.ColumnMappings.Add("ShopName", "ShopName"); sbc.ColumnMappings.Add("ShopUrl", "ShopUrl"); sbc.ColumnMappings.Add("SiteId", "SiteId"); sbc.ColumnMappings.Add("SiteName", "SiteName"); sbc.ColumnMappings.Add("SiteUrl", "SiteUrl"); sbc.ColumnMappings.Add("HyId", "HyId"); sbc.ColumnMappings.Add("AreaCode", "AreaCode"); sbc.ColumnMappings.Add("TypeId", "TypeId"); sbc.ColumnMappings.Add("SourceId", "SourceId"); sbc.ColumnMappings.Add("AddTime", "AddTime"); sbc.DestinationTableName = "ProductHitRank"; sbc.WriteToServer(dt); sbc.Close(); }
插入数据时要注意一下几点:
- 源数据的字段类型要和目标表对应的字段类型相符,否则会发生错误(具体啥错误我这猪脑子已经忘记了!!!)。
- 源数据的长度如果超过了目标表对应字段的长度,也会发生错误。
- 有时候因为字段中有‘也会发生错误。
嗯,就这些吧,啥时候想起来再写。。。