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

C#使用Datatable導(dǎo)入sqlserver數(shù)據(jù)庫(kù)的三種方法

 更新時(shí)間:2024年08月15日 10:30:24   作者:新時(shí)代丘鳴山  
本文主要介紹了C#使用Datatable導(dǎo)入sqlserver數(shù)據(jù)庫(kù)的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

第一種,最常見的Executenonquery(返回影響的行數(shù))sql是我的查詢插入語(yǔ)句,你可以換成你的!這種方式入庫(kù),速度一般,大量數(shù)據(jù)時(shí)不提倡使用

/// <summary>
        /// 通過(guò)table一個(gè)一個(gè)的插入
        /// </summary>
        /// <param name="table"></param>
        public static void Executenonquery(DataTable table)
        {
            foreach (DataRow itemRow in table.Rows)
            {
                //if exists(select * from dbo.ID where ENG = '')
                //   begin
                //        return;
                //                end
                //else
                //   begin
                //        INSERT INTO ID([ENG],[GB],[B5],[FILE],[MSG]) values('', '', '', '', '')
                //   end
                string sql = "if exists(select * from " + table.TableName + " where ENG = '" + itemRow["ENG"].ToString() + "') "+
                             " begin return; end else begin INSERT INTO " + table.TableName + "([ENG],[GB],[B5],[FILE],[MSG])" +
                             "VALUES('" + itemRow["ENG"].ToString() + "'" +
                             ",'" + itemRow["GB"].ToString() + "'" +
                             ",'" + itemRow["B5"].ToString() + "'" +
                             ",'" + itemRow["FILE"].ToString() + "'" +
                             ",'" + itemRow["MSG"].ToString() + "') end";
                using (SqlConnection sqlconn = new SqlConnection(connectString))
                {
                    sqlconn.Open();

                    SqlCommand sqlcommand = new SqlCommand(sql, sqlconn);
                    sqlcommand.ExecuteNonQuery();
                    sqlconn.Close();
                }
            }
        }

2,通過(guò)adapter入庫(kù),這種入庫(kù),起先,你需要先把datatable放入到dataset中然后進(jìn)行入庫(kù),這種方式主要是對(duì)庫(kù)中對(duì)應(yīng)的表進(jìn)行增刪改,方便使用(效率只比第一種方式好點(diǎn))

/// <summary>
        /// 通過(guò)adapter更新數(shù)據(jù)庫(kù)
        /// </summary>
        /// <param name="dataset"></param>
        public static void DataadapterInssert(DataSet dataset)
        {
            if (dataset.Tables.Count > 0)
            {
                foreach (DataTable itemTable in dataset.Tables)
                {
                    SqlCommand insertcommand = new SqlCommand("if exists(select * from " + itemTable.TableName + " where ENG = @ENG) begin return; end "+
                                      " else begin INSERT INTO " + itemTable.TableName + "([ENG],[GB],[B5],[FILE],[MSG])" +
                                      "VALUES(@ENG, @GB,@B5,@FILE,@MSG) end", new SqlConnection(connectString));
                    insertcommand.Parameters.Add("@ENG", SqlDbType.VarChar, 100, "ENG");
                    insertcommand.Parameters.Add("@GB", SqlDbType.VarChar, 100, "GB");
                    insertcommand.Parameters.Add("@B5", SqlDbType.VarChar, 200, "B5");
                    insertcommand.Parameters.Add("@FILE", SqlDbType.VarChar, 200, "FILE");
                    insertcommand.Parameters.Add("@MSG", SqlDbType.VarChar, 100, "MSG");

                    SqlDataAdapter sqldataadapter = new SqlDataAdapter();
                    sqldataadapter.InsertCommand = insertcommand;

                    sqldataadapter.Update(dataset, itemTable.TableName);
                }
            }
            
        }

3,重頭戲都在最后,這種方式速度比前兩種快很多,適合用于大量數(shù)據(jù)插入更新,也將datatable放入dataset中然后通過(guò)遍歷,將datatable復(fù)制到數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表中,快速便捷

// <summary>
        /// 通過(guò)SqlBulkCopy復(fù)制table數(shù)據(jù)到數(shù)據(jù)庫(kù)
        /// </summary>
        /// <param name="dataset"></param>
        public static void SqlbulkcopyInsert(DataSet dataset)
        {
            string ie;
            if (dataset.Tables.Count > 0)
            {
                foreach (DataTable itemTable in dataset.Tables)
                {
                    SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectString, SqlBulkCopyOptions.UseInternalTransaction);
                    sqlbulkcopy.DestinationTableName = itemTable.TableName;//數(shù)據(jù)庫(kù)中的表名
                    for (int i = 0; i < itemTable.Rows.Count; i++)
                    {
                        ie = itemTable.Rows[i][2].ToString();
                    }
                    sqlbulkcopy.WriteToServer(itemTable);
                }
            }
            
        }

到此這篇關(guān)于C#使用Datatable導(dǎo)入sqlserver數(shù)據(jù)庫(kù)的三種方法的文章就介紹到這了,更多相關(guān)C# Datatable導(dǎo)入sql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 一個(gè)讀寫csv文件的C#類

    一個(gè)讀寫csv文件的C#類

    這篇文章主要為大家詳細(xì)介紹了一個(gè)讀寫csv文件的C#類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • C#實(shí)現(xiàn)基于Base64的加密解密類實(shí)例

    C#實(shí)現(xiàn)基于Base64的加密解密類實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)基于Base64的加密解密類,實(shí)例分析了C#基于Base64的加密解密實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • 適合初學(xué)者開發(fā)的C#在線英漢詞典小程序

    適合初學(xué)者開發(fā)的C#在線英漢詞典小程序

    這篇文章主要為大家詳細(xì)介紹了適合初學(xué)者開發(fā)的C#在線英漢詞典小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Winform使用DataGridView實(shí)現(xiàn)下拉篩選

    Winform使用DataGridView實(shí)現(xiàn)下拉篩選

    這篇文章主要為大家詳細(xì)介紹了Winform如何使用原生DataGridView實(shí)現(xiàn)下拉篩選功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-09-09
  • C#中richtextbox使用方法詳解

    C#中richtextbox使用方法詳解

    這篇文章主要介紹了C#中richtextbox使用方法,分析較為詳盡,需要的朋友可以參考下
    2014-07-07
  • 適用于WebForm Mvc的Pager分頁(yè)組件C#實(shí)現(xiàn)

    適用于WebForm Mvc的Pager分頁(yè)組件C#實(shí)現(xiàn)

    這篇文章主要為大家分享了適用于WebForm Mvc的Pager分頁(yè)組件,由C#實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2016-04-04
  • C#泛型用法實(shí)例分析

    C#泛型用法實(shí)例分析

    這篇文章主要介紹了C#泛型用法,實(shí)例分析了C#泛型的功能、定義與使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#為配置文件加密的實(shí)現(xiàn)方法

    C#為配置文件加密的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#為配置文件加密的實(shí)現(xiàn)方法,可實(shí)現(xiàn)對(duì)配置文件中的敏感信息進(jìn)行加密,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C#鍵值對(duì)容器的介紹

    C#鍵值對(duì)容器的介紹

    C#鍵值對(duì)容器的介紹,需要的朋友可以參考一下
    2013-05-05
  • C#實(shí)現(xiàn)將RTF轉(zhuǎn)為HTML的示例代碼

    C#實(shí)現(xiàn)將RTF轉(zhuǎn)為HTML的示例代碼

    RTF文檔即富文本格式(Rich?Text?Format)的文檔。我們?cè)谔幚砦募r(shí),遇到需要對(duì)文檔格式進(jìn)行轉(zhuǎn)換時(shí),可以將RTF轉(zhuǎn)為其他格式,如轉(zhuǎn)為DOCX/DOC、PDF或者HTML。本文將利用C#實(shí)現(xiàn)RTF轉(zhuǎn)HTML,需要的可以參考一下
    2022-04-04

最新評(píng)論

隆回县| 黄陵县| 广灵县| 钦州市| 锡林郭勒盟| 新邵县| 武功县| 叶城县| 屯留县| 福州市| 肇源县| 本溪市| 双鸭山市| 宝兴县| 安丘市| 江孜县| 萨迦县| 南溪县| 泸州市| 昭平县| 古交市| 二手房| 石首市| 长顺县| 尼玛县| 且末县| 孝昌县| 万年县| 锡林郭勒盟| 津南区| 吉安县| 军事| 永顺县| 昆明市| 喀喇沁旗| 子洲县| 城固县| 定兴县| 邹城市| 高清| 田阳县|