国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

SqlBulkCopy 排除錯誤的數據 插入正確的數據

2019-11-10 22:53:55
字體:
來源:轉載
供稿:網友

1.使用SqlBulkCopy插入數據的時候,很難保證數據全部正確,如果其中的一條出現錯誤,就會回滾,全部插入失敗

在網上找到了下面的方法,測試好用 記錄下,

TableName :  要插入表的名字

public void InsertSqlBulk(DataTable dt,string TableName)        {            string connstr = string.Format("Server={0};DataBase=BizMarket;User Id={1};PassWord ={2};Connect Timeout=3600;", DBSERVER_ip, this.DBSERVER_ID, this.DBSERVER_PW);            SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connstr, SqlBulkCopyOptions.UseInternalTransaction);            sqlbulkcopy.DestinationTableName = TableName;            try            {                sqlbulkcopy.WriteToServer(dt);            }            catch (Exception e)            {                //如果出現異常,SqlBulkCopy 會使數據庫回滾,所有Table中的記錄都不會插入到數據庫中,此時,把Table折半插入,先插入一半,再插入一半。如此遞歸,直到只有一行時,如果插入異常,則返回。                if (dt.Rows.Count == 1)                    return;                int middle = dt.Rows.Count / 2;                DataTable table = dt.Clone();                for (int i = 0; i < middle; i++)                    table.ImportRow(dt.Rows[i]);                InsertSqlBulk(table,TableName);                table.Clear();                for (int i = middle; i < dt.Rows.Count; i++)                    table.ImportRow(dt.Rows[i]);                InsertSqlBulk(table,TableName);            }            finally            {                sqlbulkcopy.Close();            }        }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上犹县| 洛宁县| 始兴县| 营山县| 大姚县| 九寨沟县| 渝北区| 仙桃市| 阜新市| 顺昌县| 西畴县| 平凉市| 六枝特区| 浏阳市| 博野县| 武宁县| 凤山市| 竹北市| 长葛市| 玛纳斯县| 沾化县| 湟源县| 芒康县| 天气| 东城区| 齐齐哈尔市| 手游| 英吉沙县| 克什克腾旗| 潮安县| 阳谷县| 乌拉特前旗| 隆安县| 鄂托克旗| 元江| 桦南县| 内黄县| 应城市| 永春县| 崇义县| 隆化县|