扒开腿挺进岳湿润的花苞视频|将军边走边挺进她H树林|挺进朋友人妻张婉莹身体|岳脱得精光让我挺进去视频|第一次挺进莹莹的身体里视频|脱岳裙子从后面挺进去视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網(wǎng)站建設
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> .Net技術 >> 文章正文

.Net FrameWork 2.0 新增功能 Bulk Copy

.Net FrameWork 2.0 新增功能 Bulk Copy 可以很快將大量數(shù)據(jù)加載到數(shù)據(jù)庫中 , 現(xiàn)在利用這一新功能來實現(xiàn)上述功能.
這里從 MS Sql Server 2000 的 NorthWind 的 Orders 表加載數(shù)據(jù)到 DateTable 模擬要向數(shù)據(jù)庫服務器提交的多條記錄集 . 用 Tempdb 庫來模擬目標數(shù)據(jù)庫服務器 .
先在 Tempdb 建一個表 temp_orders 

USE TEMPDB
CREATE TABLE TEMP_ORDERS
(
    TEMP_ORDERID INT,
    TEMP_CUSTOMERID NCHAR(5),
    TEMP_ORDERDATE DATETIME,
    TEMP_SHIPNAME NVARCHAR(40)
)下面為模擬程序
    protected void Page_Load(object sender, EventArgs e)
    {
        #region 從NorthWind的Orders表獲取要插入的數(shù)據(jù)
        DataTable dtNorthWindOrders = new DataTable();
        using ( SqlConnection northWindConnection = new SqlConnection( "Data Source=.;Initial Catalog=NorthWind;Integrated Security=True" ) )
        {
            using ( SqlDataAdapter northWindAdapter = new SqlDataAdapter( "SELECT ORDERID,CUSTOMERID,ORDERDATE,SHIPNAME FROM ORDERS" , 

northWindConnection ) )
            {
                northWindAdapter.Fill( dtNorthWindOrders );
            }
        }
        #endregion

        using ( SqlConnection tempdbConnection = new SqlConnection( "Data Source=.;Initial Catalog=Tempdb;Integrated Security=True" ) )
        {
            tempdbConnection.Open( );

            using ( SqlTransaction tran = tempdbConnection.BeginTransaction( ) )

 {
                SqlBulkCopy bulkCopyOrders = new SqlBulkCopy( tempdbConnection , SqlBulkCopyOptions.Default , tran );
                bulkCopyOrders.DestinationTableName = "TEMP_ORDERS";
                //將數(shù)據(jù)源表字段和目標表的字段做個映射
                bulkCopyOrders.ColumnMappings.Add( "ORDERID" , "TEMP_ORDERID" );
                bulkCopyOrders.ColumnMappings.Add( "CUSTOMERID" , "TEMP_CUSTOMERID" );
                bulkCopyOrders.ColumnMappings.Add( "ORDERDATE" , "TEMP_ORDERDATE" );
                bulkCopyOrders.ColumnMappings.Add( "SHIPNAME" , "TEMP_SHIPNAME" );

                bulkCopyOrders.BulkCopyTimeout = 1000;

                //每處理10行觸發(fā)一個事件向頁面上輸出一個消息
                bulkCopyOrders.SqlRowsCopied += new SqlRowsCopiedEventHandler( onRowsCopy );
                bulkCopyOrders.NotifyAfter = 10;

                try
                {
                    bulkCopyOrders.WriteToServer( dtNorthWindOrders );
                    tran.Commit( );
                }

               catch ( Exception ex )
                {
                    Response.Write( ex.ToString( ) );
                }
                finally
                {
                    dtNorthWindOrders = null;
                }
            }
        }
    }

    private void onRowsCopy ( object Sender , SqlRowsCopiedEventArgs args )
    {
        Response.Write("已復制:<font color=red>"+ args.RowsCopied.ToString( ) + "</font><br />" );
    }通過SQL SERVER 事件探察器發(fā)現(xiàn)執(zhí)行的SQL為:
insert bulk TEMP_ORDERS ([TEMP_ORDERID] Int, [TEMP_CUSTOMERID] NChar(5) COLLATE Chinese_PRC_CI_AS, [TEMP_ORDERDATE] DateTime, 

[TEMP_SHIPNAME] NVarChar(40) COLLATE Chinese_PRC_CI_AS)通過運行程序可以看出這個速度是相當?shù)目?nbsp;, 使用這個方法的最大優(yōu)點是 : 減少對數(shù)據(jù)庫的訪問次數(shù) .
WriteToServer不僅可以處理 DataTable 對象 , 還可以處理 DataReader , DataRow 對象數(shù)組 . 

作者:未知 | 文章來源:自學編程網(wǎng) | 更新時間:2008-1-2 12:47:19

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    j2se 嵌入式腳本抓取引擎
    NET Framework 2.0 Service Pack 2下載地址
    解析.NET中的6各大的安全錯誤
    .NET中Boolean,bool以及String,string之間的區(qū)別
    在VC 程序中自定義Vista事件日志
    教程:.Net多線程和Windows Forms編程
    C++函數(shù)對象count_if
    語法C# 問關鍵字之:base、this
    C#中“+”的兩種功能
    透過HTTP進行異步Web Service 呼叫
    軟件技術
    · 開發(fā)語言
    · Java技術
    · .Net技術
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·.net技術 asp.net MVC3 Vi
    ·.net將視頻文件格式轉(zhuǎn)換成
    ·NET Framework 2.0 Servic
    ·如何動態(tài)修改winform的app
    ·asp,net軟件結(jié)構設計和相關
    ·學習怎樣使用ASP.NET中的虛
    ·,net基礎類的學習:system
    ·.net學習:c#事件的深入分
    ·Facade Pattern學習總結(jié)
    ·C#如何設置或者獲取目錄的
    ·如何使用XSL來定義ASP.NET
    ·理解WCF Data Contract契約
    ·如何能在.net2.0開發(fā)的控件
    ·模式怎樣使用,講解模式的
    ·如何解決Menu菜單被frame遮
    關于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發(fā)網(wǎng) m.jdtbank.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    华池县| 平原县| 弥勒县| 长宁区| 伊金霍洛旗| 金川县| 广丰县| 明光市| 漳平市| 土默特右旗| 贵南县| 泌阳县| 桐乡市| 马尔康县| 九龙县| 喀什市| 光山县| 海门市| 滦平县| 冷水江市| 冀州市| 鄂伦春自治旗| 海安县| 柳州市| 拉孜县| 阳原县| 溆浦县| 株洲市| 东明县| 凭祥市| 潢川县| 株洲县| 长汀县| 莆田市| 景德镇市| 尤溪县| 云浮市| 沁水县| 广州市| 且末县| 乌兰浩特市|