<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        DataAdapter執(zhí)行批量更新的實(shí)例代碼

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:40:42
        文檔

        DataAdapter執(zhí)行批量更新的實(shí)例代碼

        DataAdapter執(zhí)行批量更新的實(shí)例代碼:在以前版本的 ADO.NET 中,使用 DataSet 中的更改來(lái)更新數(shù)據(jù)庫(kù)時(shí),DataAdapter 的 Update 方法每次更新數(shù)據(jù)庫(kù)的一行。因?yàn)樵摲椒ㄑh(huán)訪問(wèn)指定 DataTable 中的行,所以,會(huì)檢查每個(gè) DataRow,確定是否已修改。如果該行已修改,將根據(jù)該行的 RowState
        推薦度:
        導(dǎo)讀DataAdapter執(zhí)行批量更新的實(shí)例代碼:在以前版本的 ADO.NET 中,使用 DataSet 中的更改來(lái)更新數(shù)據(jù)庫(kù)時(shí),DataAdapter 的 Update 方法每次更新數(shù)據(jù)庫(kù)的一行。因?yàn)樵摲椒ㄑh(huán)訪問(wèn)指定 DataTable 中的行,所以,會(huì)檢查每個(gè) DataRow,確定是否已修改。如果該行已修改,將根據(jù)該行的 RowState

        在以前版本的 ADO.NET 中,使用 DataSet 中的更改來(lái)更新數(shù)據(jù)庫(kù)時(shí),DataAdapter 的 Update 方法每次更新數(shù)據(jù)庫(kù)的一行。因?yàn)樵摲椒ㄑh(huán)訪問(wèn)指定 DataTable 中的行,所以,會(huì)檢查每個(gè) DataRow,確定是否已修改。如果該行已修改,將根據(jù)該行的 RowState 屬性值調(diào)用相應(yīng)的 UpdateCommand、InsertCommand 或 DeleteCommand。每一次行更新都涉及網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)之間的雙向數(shù)據(jù)傳輸。
            在 ADO.NET 2.0 中,DataAdapter 公開了 UpdateBatchSize 屬性。將 UpdateBatchSize 設(shè)置為正整數(shù)值將使對(duì)數(shù)據(jù)庫(kù)的更新以指定大小的批次進(jìn)行發(fā)送。例如,如果將 UpdateBatchSize 設(shè)置為 10,會(huì)將 10 個(gè)獨(dú)立的語(yǔ)句組合在一起并作為一批提交。將 UpdateBatchSize 設(shè)置為 0 將導(dǎo)致 DataAdapter 使用服務(wù)器可以處理的最大批次的大小。如果將其設(shè)置為 1,則禁用批量更新,因?yàn)榇藭r(shí)每次發(fā)送一行。
            執(zhí)行非常大的批次可能會(huì)降低性能。因此,在實(shí)現(xiàn)應(yīng)用程序之前,應(yīng)測(cè)試最佳的批次大小設(shè)置。
            使用 UpdateBatchSize 屬性
            啟用了批量更新后,DataAdapter 的 UpdateCommand、InsertCommand 和 DeleteCommand 的 UpdatedRowSource 屬性值應(yīng)設(shè)置為 None 或 OutputParameters。在執(zhí)行批量更新時(shí),命令的 FirstReturnedRecord 或 Both 的 UpdatedRowSource 屬性值無(wú)效。
            下面的過(guò)程演示如何使用 UpdateBatchSize 屬性。該過(guò)程采用兩個(gè)參數(shù),一個(gè) DataSet 對(duì)象,其中包含代表 PRoduction.ProductCategory 表中的 ProductCategoryID 和 Name 字段的列,一個(gè)代表批次大小的整數(shù)(批次中的行數(shù))。該代碼創(chuàng)建一個(gè)新的 SqlDataAdapter 對(duì)象,設(shè)置其 UpdateCommand、InsertCommand 和 DeleteCommand 屬性。該代碼假定 DataSet 對(duì)象已修改了行。它設(shè)置 UpdateBatchSize 屬性并執(zhí)行更新。
        代碼如下:
            protected void btnUpdateAddress_Click(object sender, EventArgs e)
            {
            SqlDataAdapter EmpAdapter = new SqlDataAdapter();
            DataTable EmpDT = new DataTable();
            SqlConnection DBConSelect = new SqlConnection();
            SqlConnection DBConUpdate = new SqlConnection();
            SqlCommand SelectCommand = new SqlCommand();
            SqlCommand UpdateCommand = new SqlCommand();
            // Using different connection objects for select and updates from the
            // Northwind database.
            DBConSelect.ConnectionString =
            ConfigurationManager.ConnectionStrings["DSN_NorthWind"].ConnectionString;
            DBConUpdate.ConnectionString =
            ConfigurationManager.ConnectionStrings["DSN_NorthWind"].ConnectionString;
            // Reading all records from the Employees table
            SelectCommand.CommandText = "SELECT top 500 * FROM EMPLOYEES";
            SelectCommand.CommandType = CommandType.Text;
            SelectCommand.Connection = DBConSelect;

         UpdateCommand.CommandText = " UPDATE EMPLOYEES SET Address=@Address, " +
            "City=@City, Region=@Region, Country=@Country";
            UpdateCommand.CommandType = CommandType.Text;
            UpdateCommand.Connection = DBConUpdate;
            SqlParameter AddressParam;
            AddressParam = new SqlParameter("@Address",
            SqlDbType.VarChar, 15, "Address");
            SqlParameter CityParam;
            CityParam = new SqlParameter("@City", SqlDbType.VarChar, 15, "City");
            SqlParameter RegionParam;
            RegionParam = new SqlParameter("@Region", SqlDbType.VarChar, 15, "Region");
            SqlParameter CountryParam;
            CountryParam = new SqlParameter("@Country",
            SqlDbType.VarChar, 15, "Country");
            UpdateCommand.Parameters.Add(AddressParam);
            UpdateCommand.Parameters.Add(CityParam);
            UpdateCommand.Parameters.Add(RegionParam);
            UpdateCommand.Parameters.Add(CountryParam);
            // Setting up Data Adapter with the Select and Update Commands
            // The Select command will be used to retrieve all employee
            // information from the Northwind database and the Update command
            // will be used to save changes back to the database
            EmpAdapter.SelectCommand = SelectCommand;
            EmpAdapter.UpdateCommand = UpdateCommand;
            EmpAdapter.Fill(EmpDT);
            DBConSelect.Close();
            // Looping through all employee records and assigning them the new
            // address
            foreach (DataRow DR in EmpDT.Rows)
            {
            DR["Address"] = "4445 W 77th Street, Suite 140";
            DR["City"] = "Edina";
            DR["Region"] = "Minnesota";
            DR["Country"] = "USA";
            }
            // Adding an event handler to listen to the RowUpdated event.
            // This event will will fire after each batch is executed
            EmpAdapter.RowUpdated +=  new SqlRowUpdatedEventHandler(OnRowUpdated);
            lblCounter.Text = "";
            EmpAdapter.UpdateBatchSize = 100;
            // It is important to set this property for batch processing of
            // updated records since batch updates are incapable of
            // updating the source with changes from the database
            UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
            try
            {
            DBConUpdate.Open();
            EmpAdapter.Update(EmpDT);
            }
            catch (Exception ex)
            {
            lblCounter.Text += ex.Message + "<Br>";
            }
            finally
            {
            if (DBConUpdate.State == ConnectionState.Open)
            {
            DBConUpdate.Close();
            }
            }
            }
            private void OnRowUpdated(object sender, SqlRowUpdatedEventArgs args)
            {
            lblCounter.Text += "Batch is processed till row number = " +
            args.RowCount.ToString() + "<br>";
            }

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        DataAdapter執(zhí)行批量更新的實(shí)例代碼

        DataAdapter執(zhí)行批量更新的實(shí)例代碼:在以前版本的 ADO.NET 中,使用 DataSet 中的更改來(lái)更新數(shù)據(jù)庫(kù)時(shí),DataAdapter 的 Update 方法每次更新數(shù)據(jù)庫(kù)的一行。因?yàn)樵摲椒ㄑh(huán)訪問(wèn)指定 DataTable 中的行,所以,會(huì)檢查每個(gè) DataRow,確定是否已修改。如果該行已修改,將根據(jù)該行的 RowState
        推薦度:
        標(biāo)簽: 更新 update DataAdapter
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产成人精品曰本亚洲79ren| 日韩一区二区三区免费体验| 亚洲综合图色40p| 国产精品美女久久久免费| 夜色阁亚洲一区二区三区| 羞羞网站免费观看| 亚洲av无码国产精品色在线看不卡| 美女被爆羞羞网站免费 | 亚洲一区二区三区免费视频| 亚洲av日韩av不卡在线观看| 久久久久久夜精品精品免费啦 | 亚洲一区二区免费视频| 国产1024精品视频专区免费| 日本亚洲色大成网站www久久| 毛片a级毛片免费观看免下载 | 一个人看的www视频免费在线观看| 国产成人高清亚洲| 无码一区二区三区免费| 亚洲成av人片在线看片| 全免费a级毛片免费看无码| 免费高清A级毛片在线播放| 亚洲中文字幕无码一区| 男女作爱在线播放免费网站| 久久精品国产亚洲AV忘忧草18| 免费国产人做人视频在线观看| 老司机精品免费视频| 91在线精品亚洲一区二区| 四虎成人免费网站在线| 国产羞羞的视频在线观看免费| 亚洲国产一区二区三区青草影视| 精品女同一区二区三区免费站| 亚洲色成人网站WWW永久四虎| 亚洲日韩中文在线精品第一 | 久久亚洲av无码精品浪潮| 免费无遮挡无码永久视频| 亚洲中文字幕无码中文字| 国产成人亚洲综合无码| 四虎在线最新永久免费| 免费人成大片在线观看播放| 亚洲天堂男人天堂| 四虎1515hm免费国产|