最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)SQL批量插入數(shù)據(jù)到表的方法

 更新時(shí)間:2016年04月18日 09:24:06   作者:且行且思  
這篇文章主要介紹了C#實(shí)現(xiàn)SQL批量插入數(shù)據(jù)到表的方法,涉及C#批量操作SQL的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了C#實(shí)現(xiàn)SQL批量插入數(shù)據(jù)到表的方法。分享給大家供大家參考,具體如下:

#region 幫助實(shí)例:SQL 批量插入數(shù)據(jù) 多種方法
/// <summary>
/// SqlBulkCopy往數(shù)據(jù)庫中批量插入數(shù)據(jù)
/// </summary>
/// <param name="sourceDataTable">數(shù)據(jù)源表</param>
/// <param name="targetTableName">服務(wù)器上目標(biāo)表</param>
/// <param name="mapping">創(chuàng)建新的列映射,并使用列序號(hào)引用源列和目標(biāo)列的列名稱。</param>
public static void BulkToDB(DataTable sourceDataTable, string targetTableName, SqlBulkCopyColumnMapping[] mapping)
{
  /* 調(diào)用方法 -2012年11月16日編寫
  //DataTable dt = Get_All_RoomState_ByHID();
  //SqlBulkCopyColumnMapping[] mapping = new SqlBulkCopyColumnMapping[4];
  //mapping[0] = new SqlBulkCopyColumnMapping("Xing_H_ID", "Xing_H_ID");
  //mapping[1] = new SqlBulkCopyColumnMapping("H_Name", "H_Name");
  //mapping[2] = new SqlBulkCopyColumnMapping("H_sName", "H_sName");
  //mapping[3] = new SqlBulkCopyColumnMapping("H_eName", "H_eName");
  //BulkToDB(dt, "Bak_Tts_Hotel_Name", mapping);
  */
  SqlConnection conn = new SqlConnection(SQLHelper.ConnectionString);
  SqlBulkCopy bulkCopy = new SqlBulkCopy(conn);  //用其它源的數(shù)據(jù)有效批量加載sql server表中
  bulkCopy.DestinationTableName = targetTableName;  //服務(wù)器上目標(biāo)表的名稱
  bulkCopy.BatchSize = sourceDataTable.Rows.Count;  //每一批次中的行數(shù)
  try
  {
    conn.Open();
    if (sourceDataTable != null && sourceDataTable.Rows.Count != 0)
    {
      for (int i = 0; i < mapping.Length; i++)
        bulkCopy.ColumnMappings.Add(mapping[i]);
      //將提供的數(shù)據(jù)源中的所有行復(fù)制到目標(biāo)表中
      bulkCopy.WriteToServer(sourceDataTable );  
    }
  }
  catch (Exception ex)
  {
    //throw ex;
    Common.WriteTextLog("BulkToDB", ex.Message);
  }
  finally
  {
    conn.Close();
    if (bulkCopy != null)
      bulkCopy.Close();
  }
}
/// <summary>
/// SQL2008以上方可支持自定義表類型 :調(diào)用存儲(chǔ)過程游標(biāo)-往數(shù)據(jù)庫中批量插入數(shù)據(jù) ,注意
/// </summary>
/// <param name="sourceDataTable"></param>
public void DataTableToHotelDB(DataTable sourceDataTable)
{
  /* -2012年11月15日編寫
    ALTER PROCEDURE [dbo].[P_InsertSubject]
    @tempStudentID int
    AS
    DECLARE rs CURSOR LOCAL SCROLL FOR
    select H_ID from Tts_Hotel_Name 
    OPEN rs
    FETCH NEXT FROM rs INTO @tempStudentID
    WHILE @@FETCH_STATUS = 0
    BEGIN
    Insert student (tempStudentID) values (@tempStudentID)
    FETCH NEXT FROM rs INTO @tempStudentID
    END
    CLOSE rs
   * ***************************************************************
   * create table Orders
    (
    Orders_ID int identity(1,1) primary key,
    ItemCode nvarchar(50) not null,
    UM nvarchar(20) not null,
    Quantity decimal(18,6) not null,
    UnitPrice decimal(18,6) not null
    )
    --創(chuàng)建用戶自定義表類型,在可編程性->類型性->用戶自定義表類型
    create type OrdersTableType as table
    (
    ItemCode nvarchar(50) not null,
    UM nvarchar(20) not null,
    Quantity decimal(18,6) not null,
    UnitPrice decimal(18,6) not null
    )
    go
    create procedure Pro_Orders
    (
      @OrdersCollection OrdersTableType readonly
    )
    as
    insert into Orders([ItemCode],[UM],[Quantity],[UnitPrice])
      SELECT oc.[ItemCode],oc.[UM],[Quantity],oc.[UnitPrice] FROM @OrdersCollection AS oc;
    go
   * 
   */
  SqlParameter[] parameters = {new SqlParameter("@OrdersCollection", SqlDbType.Structured)};
  parameters[0].Value = sourceDataTable;
  new SQLHelper().ExecuteScalar("P_DataTable_ToHotelDB", parameters, true);
}
#endregion

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#常見控件用法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《C#程序設(shè)計(jì)之線程使用技巧總結(jié)

希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#中截取字符串的的基本方法詳解

    C#中截取字符串的的基本方法詳解

    這篇文章主要介紹了C#中截取字符串的的基本方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • C#實(shí)現(xiàn)記事本查找與替換功能

    C#實(shí)現(xiàn)記事本查找與替換功能

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)記事本查找與替換功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 利用Aspose.Word控件實(shí)現(xiàn)Word文檔的操作

    利用Aspose.Word控件實(shí)現(xiàn)Word文檔的操作

    偶然一次機(jī)會(huì),一個(gè)項(xiàng)目的報(bào)表功能指定需要導(dǎo)出為Word文檔,因此尋找了很多篇文章,不過多數(shù)介紹的比較簡單一點(diǎn),于是也參考了官方的幫助介紹,終于滿足了客戶的需求。下面我由淺入深來介紹這個(gè)控件在實(shí)際業(yè)務(wù)中的使用過程吧
    2013-05-05
  • 深入理解C# 委托與事件

    深入理解C# 委托與事件

    本文主要介紹了深入理解C# 委托與事件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2008-05-05
  • C#實(shí)現(xiàn)文件操作(復(fù)制,移動(dòng),刪除)的方法詳解

    C#實(shí)現(xiàn)文件操作(復(fù)制,移動(dòng),刪除)的方法詳解

    File類提供了常見的文件操作函數(shù),包括復(fù)制、移動(dòng)、刪除、創(chuàng)建快捷方式等,本文將通過一些簡單的示例為大家詳細(xì)講講具體的使用,希望對(duì)大家有所幫助
    2023-05-05
  • C#隨機(jī)數(shù)生成字母金字塔

    C#隨機(jī)數(shù)生成字母金字塔

    這篇文章主要為大家詳細(xì)介紹了C#隨機(jī)數(shù)生成字母金字塔,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 基于字符集、字符編碼與HTTP編碼解碼之萬象詳解

    基于字符集、字符編碼與HTTP編碼解碼之萬象詳解

    本篇文章小編為大家介紹,基于字符集、字符編碼與HTTP編碼解碼之萬象詳解。需要的朋友參考下
    2013-04-04
  • C#中字符串優(yōu)化String.Intern、IsInterned詳解

    C#中字符串優(yōu)化String.Intern、IsInterned詳解

    這篇文章主要給大家介紹了關(guān)于C#中字符串優(yōu)化String.Intern、IsInterned的相關(guān)資料,文中通過示例代碼介紹的,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • C# 各種導(dǎo)出的方法總結(jié)

    C# 各種導(dǎo)出的方法總結(jié)

    本篇文章主要介紹了C# 各種導(dǎo)出方法的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-05-05
  • 詳解C#如何提取PDF文檔中的圖片

    詳解C#如何提取PDF文檔中的圖片

    提取圖片可以將這些圖像資源進(jìn)行單獨(dú)保存,方便后續(xù)在不同的項(xiàng)目中使用,下面我們就來看看如何使用C#通過代碼從PDF文檔中提取圖片吧
    2025-04-04

最新評(píng)論

新晃| 白水县| 湘阴县| 盐池县| 墨竹工卡县| 江陵县| 湛江市| 安新县| 呼伦贝尔市| 大化| 阿图什市| 普定县| 米泉市| 饶阳县| 河南省| 平武县| 盐津县| 昌宁县| 安徽省| 孟州市| 远安县| 青浦区| 洪洞县| 修文县| 兴业县| 鹤峰县| 长岭县| 盘山县| 繁峙县| 府谷县| 蓬溪县| 萨嘎县| 新绛县| 丹棱县| 定远县| 恭城| 北票市| 沅江市| 鞍山市| 安西县| 寿光市|