***项目开发记录

有表的情况

      INSERT INTO 表(val1,val2)         SELECT  val1,val2 FROM 表

     没表的情况

      SELECT * into _表           from 表

 更新

  UPDATE 表 SET UrlId=kd.id
         FROM Keywords kd WHERE kd

    (2)C#批量导数

      采用.NET 2.0中的 SqlBulkCopy ,具体代码

    

  public bool BulkToDB(DataTable dt, Dictionary<string, string> ColumnMappings = null)
        {
            SqlBulkCopy bulkCopy = new SqlBulkCopy(LitConn.Conn);
            bulkCopy.DestinationTableName = dt.TableName;
            bulkCopy.BatchSize = dt.Rows.Count;
            if (ColumnMappings != null)
                foreach (string str in ColumnMappings.Keys)
                {
                    bulkCopy.ColumnMappings.Add(str, ColumnMappings[str]);
                }
            bool IsResult = true;
            try
            {
                LitConn.Open();
                if (dt != null && dt.Rows.Count != 0)
                    bulkCopy.WriteToServer(dt);
            }
            catch (Exception e)
            {
                ErrMsg = e.Message;
                IsResult = false;
            }
            finally
            {
                LitConn.Close();
                if (bulkCopy != null)
                    bulkCopy.Close();
            }
            return IsResult;
        }

      注意:如果表结果完全一样,不要指定ColumnMappings,否则要一一指定

    3,事件

    没有采用数据分离, 数据采集和显示,导致网站无法打开, 采集数据读写分离后,写时又因数据录入时业务及事物处理,导致批量录入时超时及录入比较慢

原文地址:https://www.cnblogs.com/gzalrj/p/3450242.html