当前位置: 首页 > news >正文

网站ftp上传工具哪个好用开封公司网站如何制作

网站ftp上传工具哪个好用,开封公司网站如何制作,外包公司可以去吗,徐州微网站开发使用 SqlBulkCopy 类只能向 SQL Server 表写入数据。但是#xff0c;数据源不限于 SQL Server#xff1b;可以使用任何数据源#xff0c;只要数据可加载到 DataTable 实例或可使用 IDataReader 实例读取数据 使用Datatable作为数据源的方式#xff1a;下面的代码使用到了Co…使用 SqlBulkCopy 类只能向 SQL Server 表写入数据。但是数据源不限于 SQL Server可以使用任何数据源只要数据可加载到 DataTable 实例或可使用 IDataReader 实例读取数据 使用Datatable作为数据源的方式下面的代码使用到了ColumnMappings因为目标表和数据源Datatable的结构不一致需要这么一个映射来指定对应关系 public string SaveJHCData(LzShopBasicData[] datas){var result new AResult();SqlConnection con new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings[**].ConnectionString);con.Open();foreach (var item in datas){Logger.Info(数据更新处理店铺名称 item.ShopName 数据日期 item.SellDate);try{using (TransactionScope scope new TransactionScope()){DataTable JHCOrderItemsdt SaveJHCOrderItemsData(item);SqlBulkCopy JHCOrderItemscopy new SqlBulkCopy(con);JHCOrderItemscopy.ColumnMappings.Add(orderId, orderId);JHCOrderItemscopy.ColumnMappings.Add(auctionId, auctionId);JHCOrderItemscopy.ColumnMappings.Add(itemTitle, itemTitle);JHCOrderItemscopy.ColumnMappings.Add(tradeAmt, tradeAmt);JHCOrderItemscopy.ColumnMappings.Add(alipayNum, alipayNum);JHCOrderItemscopy.ColumnMappings.Add(tradeTime, tradeTime);JHCOrderItemscopy.ColumnMappings.Add(uv, uv);JHCOrderItemscopy.ColumnMappings.Add(srcId, srcId);JHCOrderItemscopy.ColumnMappings.Add(srcName, srcName);JHCOrderItemscopy.ColumnMappings.Add(DataType, DataType);JHCOrderItemscopy.ColumnMappings.Add(DataDate, DataDate);JHCOrderItemscopy.ColumnMappings.Add(OrderSourceID, OrderSourceID);JHCOrderItemscopy.ColumnMappings.Add(ShopName, ShopName);JHCOrderItemscopy.DestinationTableName JHCOrderItems;JHCOrderItemscopy.WriteToServer(JHCOrderItemsdt);result.Updatedata 1;result.UpdatedataText item.SellDate ,;scope.Complete();Logger.Info(item.SellDate 事务提交);}}catch (Exception ex){Logger.Error(ex.ToString());continue;}}con.Close();return result.ToSerializeObject();}  2.使用IDataReader作为数据源的方式这种方式个人认为用的很少首先目标表和来源表两个数据库连接你都需要拿到如果两个都可以拿到一般直接操作sql就可以解决 这里是直接拷贝的MSDN的代码 用到的AdventureWorks 数据库可以直接在网上下载到 using System.Data.SqlClient;class Program {static void Main(){string connectionString GetConnectionString();// Open a sourceConnection to the AdventureWorks database.using (SqlConnection sourceConnection new SqlConnection(connectionString)){sourceConnection.Open();// Perform an initial count on the destination table.SqlCommand commandRowCount new SqlCommand(SELECT COUNT(*) FROM dbo.BulkCopyDemoMatchingColumns;,sourceConnection);long countStart System.Convert.ToInt32(commandRowCount.ExecuteScalar());Console.WriteLine(Starting row count {0}, countStart);// Get data from the source table as a SqlDataReader.SqlCommand commandSourceData new SqlCommand(SELECT ProductID, Name, ProductNumber FROM Production.Product;, sourceConnection);SqlDataReader reader commandSourceData.ExecuteReader();// Open the destination connection. In the real world you would // not use SqlBulkCopy to move data from one table to the other // in the same database. This is for demonstration purposes only.using (SqlConnection destinationConnection new SqlConnection(connectionString)){destinationConnection.Open();// Set up the bulk copy object. // Note that the column positions in the source// data reader match the column positions in // the destination table so there is no need to// map columns.using (SqlBulkCopy bulkCopy new SqlBulkCopy(destinationConnection)){bulkCopy.DestinationTableName dbo.BulkCopyDemoMatchingColumns;try{// Write from the source to the destination.bulkCopy.WriteToServer(reader);}catch (Exception ex){Console.WriteLine(ex.Message);}finally{// Close the SqlDataReader. The SqlBulkCopy// object is automatically closed at the end// of the using block.reader.Close();}}// Perform a final count on the destination // table to see how many rows were added.long countEnd System.Convert.ToInt32(commandRowCount.ExecuteScalar());Console.WriteLine(Ending row count {0}, countEnd);Console.WriteLine({0} rows were added., countEnd - countStart);Console.WriteLine(Press Enter to finish.);Console.ReadLine();}}}private static string GetConnectionString()// To avoid storing the sourceConnection string in your code, // you can retrieve it from a configuration file. {return Data Source(local); Integrated Securitytrue; Initial CatalogAdventureWorks;;} } View Code   实战借助类型反射动态构建Datatable数据源,通过SqlBulkCopy批量保存入库 1.获取一张空的Datatable var dt bisdal.FromTopBrand(TopBrand._.ID -1, OrderByClip.Default).ToDataTable(); 2.填充DataTable这里是通过遍历外部的集合把属性属性逐一赋值填充到目标Datatable foreach (var item in brandselldataitems){try{TopBrand topbrand new TopBrand{BrandIndex item.mk,BrandName item.c58,Date date,WinnerAmt item.c60,WinnerPeople item.c62,WinnerProNum item.c61,HotTaobaoCategoryID cid};CreateDtByItemTopBrand(topbrand, dt);}catch (Exception ex){Logger.Error(ex.ToString());continue;}}  这里借助反射遍历实体属性集合动态构建DataTableRow对象 private void CreateDtByItemT(T item, DataTable dt){System.Reflection.PropertyInfo[] properties item.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);var newrow dt.NewRow();foreach (System.Reflection.PropertyInfo pitem in properties){string name pitem.Name;if (name children){continue;}object value pitem.GetValue(item, null);newrow[name] value null ? DBNull.Value : value;}dt.Rows.Add(newrow);} 3.保存入库 BulkWriteToServer(con, TopBrand, dt);  这里因为目标表和数据源的Datatable数据结构一致所以省去了ColumnMappings列映射的操作可以直接WriteToServer保存 private void BulkWriteToServer(SqlConnection con, string destinationtablename, DataTable sourcedt){try{if (con.State ConnectionState.Closed){con.Open();}SqlBulkCopy topbranddtcopy new SqlBulkCopy(con);topbranddtcopy.DestinationTableName destinationtablename;topbranddtcopy.WriteToServer(sourcedt);con.Close();}catch (Exception ex){Logger.Error(批量新增数据: destinationtablename , ex.ToString());}}   完整调用代码 private void CreateTopBrandData(int date, int cid, ListBrandSellDataItem brandselldataitems){try{var dt bisdal.FromTopBrand(TopBrand._.ID -1, OrderByClip.Default).ToDataTable();foreach (var item in brandselldataitems){try{TopBrand topbrand new TopBrand{BrandIndex item.mk,BrandName item.c58,Date date,WinnerAmt item.c60,WinnerPeople item.c62,WinnerProNum item.c61,HotTaobaoCategoryID cid};CreateDtByItemTopBrand(topbrand, dt);}catch (Exception ex){Logger.Error(ex.ToString());continue;}}BulkWriteToServer(con, TopBrand, dt);}catch (Exception ex){throw new Exception(CreateTopBrandData: ex.ToString());}}  转载于:https://www.cnblogs.com/LittleFeiHu/p/4050391.html
http://www.huolong8.cn/news/208415/

相关文章:

  • 百度指数 网站公司网站留言板
  • 自建网站如何备案广告设计
  • 奇趣网做网站wordpress短代码转php
  • 建设工程网站教程如何为网站开发app
  • 网站界面设计实训报告网站优化需要什么软件
  • 福建省网站备案用户注销(删除)备案申请表如何申请百度定位地址
  • 教育培训类网站建设与维护温州网站升级
  • 小网站关键词搜什么网络优化基础知识
  • 学校建设网站费用申请在哪个网站可以学做甜点
  • 开发网站多少钱一个月销售型网站如何做推广
  • 建网站的英文大型网页游戏开发
  • iis怎么使用来建设一个网站上海网站搜索排名优化哪家好
  • 潍坊响应式网站建设要多久潜江网站搭建
  • 网站建设需求报告小程序制作视频教程
  • 华汇建设集团有限公司网站企业网站模板优化
  • 网站的建设时间表成都网页设计培训学校排名
  • 设计建设网站哪家好网站做程序员
  • 北京丰台网站建设网站建设说明书模板
  • 怎么自己免费创建网站汕头市企业网站建设教程
  • 网站开发技术案例个人网站设计与实现源码
  • 国泰君安官方网站建设集团平台公司是什么意思
  • 网站开发工具与环境删除windows wordpress
  • 手机网站开发教程pdf梓潼网站建设
  • 洛阳建设部官方网站软件ui设计培训学校
  • frp做网站gg模板网
  • 深圳印刷网站建设重庆房地产信息官网
  • 河北省城乡住房建设厅网站国家城乡与住房建设部网站
  • 上海网站建设的企wordpress 电台网站
  • 广告设计接单网站网站建设项目规划书
  • 企业首页网站属于什么类型网站微信开放平台官方网站