• mssqlserver 批量插入示例



            public bool DoQuestionSqlBulkCopy(DataTable dtDoQuestion,
                string DoQuestionName,
                DataTable dtDoQuestionText,
                string DoQuestionTextName,
                DataTable dtDoQuestionRemark,
                string DoQuestionRemarkName)
            {
                using (System.Data.SqlClient.SqlBulkCopy sqlBC = new System.Data.SqlClient.SqlBulkCopy(DBConnectionConfig.ConnectionString))
                {
                    #region 选项指量插入
                    if (dtDoQuestion.Rows.Count > 0)
                    {
                        //每10W条数据一个事物  
                        sqlBC.BatchSize = dtDoQuestion.Rows.Count;

                        //超时时间  
                        sqlBC.BulkCopyTimeout = 60;

                        //表名Users  
                        sqlBC.DestinationTableName = "dbo." + DoQuestionName;

                        //字段对应,分表为原数据表字段名,和导入数据库的字段名  
                        sqlBC.ColumnMappings.Add("Tid", "Tid");
                        sqlBC.ColumnMappings.Add("SId", "SId");
                        sqlBC.ColumnMappings.Add("OId", "OId");
                        sqlBC.ColumnMappings.Add("SN", "SN");
                        sqlBC.ColumnMappings.Add("Score", "Score");
                        sqlBC.ColumnMappings.Add("Selected", "Selected");
                        sqlBC.ColumnMappings.Add("OPTIME", "OPTIME");

                        //导入到数据库  
                        sqlBC.WriteToServer(dtDoQuestion);
                        sqlBC.ColumnMappings.Clear();
                    }
                    #endregion

                    #region 文字选项批量保存
                    if (dtDoQuestionText.Rows.Count > 0)
                    {
                        //每10W条数据一个事物  
                        sqlBC.BatchSize = dtDoQuestionText.Rows.Count;

                        //超时时间  
                        sqlBC.BulkCopyTimeout = 60;

                        //表名DoquestionText  
                        sqlBC.DestinationTableName = "dbo." + DoQuestionName;

                        //字段对应,分表为原数据表字段名,和导入数据库的字段名  
                        sqlBC.ColumnMappings.Add("Tid", "Tid");
                        sqlBC.ColumnMappings.Add("SId", "SId");
                        sqlBC.ColumnMappings.Add("OId", "OId");
                        sqlBC.ColumnMappings.Add("SN", "SN");
                        sqlBC.ColumnMappings.Add("MId", "MId");
                        sqlBC.ColumnMappings.Add("Content", "Content");
                        sqlBC.ColumnMappings.Add("OPTIME", "OPTIME");

                        //导入到数据库  
                        sqlBC.WriteToServer(dtDoQuestionText);
                        sqlBC.ColumnMappings.Clear();
                    }
                    #endregion

                    #region 文字选项批量保存
                    if (dtDoQuestionRemark.Rows.Count > 0)
                    {
                        //每10W条数据一个事物  
                        sqlBC.BatchSize = dtDoQuestionRemark.Rows.Count;

                        //超时时间  
                        sqlBC.BulkCopyTimeout = 60;

                        //表名DoquestionText  
                        sqlBC.DestinationTableName = "dbo." + DoQuestionRemarkName;

                        //字段对应,分表为原数据表字段名,和导入数据库的字段名  
                        sqlBC.ColumnMappings.Add("Tid", "Tid");
                        sqlBC.ColumnMappings.Add("SId", "SId");
                        sqlBC.ColumnMappings.Add("SN", "SN");
                        sqlBC.ColumnMappings.Add("Content", "Content");
                        sqlBC.ColumnMappings.Add("OPTIME", "OPTIME");

                        //导入到数据库  
                        sqlBC.WriteToServer(dtDoQuestionRemark);
                        sqlBC.ColumnMappings.Clear();
                    }
                    #endregion

                    return true;
                }
            }

  • 相关阅读:
    CentOS系统一键部署jdk,maven,tomcat,mysql
    使用sed在源文件上直接替换某一行的内容,只替换第一次找到的那行
    MLPerf 机器学习基准测试实战入门(一)NAVIDA-GNMT
    SpringBoot Controller接收参数的几种常用方式(转)
    使用延时队列DelayQueue
    Oracle、MySql、SQLServer 数据分页查询(转)
    SqlServer收缩日志
    防火墙升级导致产环境服务中止20小时的问题
    NFS相关
    jquery.validate不使用submit提交,而是使用button按钮提交
  • 原文地址:https://www.cnblogs.com/wdkshy/p/4116120.html
Copyright © 2020-2023  润新知