• C#--一次写入多条数据-sqlserver和access用时对比


     

    1,access代码:

            private void SaveResultToMyaccess(PMOpenProtocol.TighteningResultData data)
            {
                try
                {
                    myAccess.AccessDbClass();
                    OleDbTransaction myTrans = myAccess.Conn.BeginTransaction();
                    OleDbCommand incmd = myAccess.Conn.CreateCommand();
                    incmd.Transaction = myTrans;
    
                    //【1】编写SQL语句
                    StringBuilder sqlBuilder = new StringBuilder();//如果字符串比较长,可以用StringBuilder
                    sqlBuilder.Append("insert into mydata (TighteningID,ProductSN,PsetName,StationName,BoltNumber,TighteningStatus,ResultDateTime,FinalTorque,FinalAngle,TorqueMax,TorqueMin,OperateDateTime,OperateFlag,ErrorInfo)");
                    sqlBuilder.Append("  values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}',{12},'{13}')");
                    //【2】解析对象
    
                    #region 普通方法:写18次
    
                    //string sql = string.Format(sqlBuilder.ToString(),
                    //    data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_1, data.TighteningStatus_1, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_1, data.FinalAngle_1, "", 0, "");
                    //incmd.CommandText = sql;
                    //incmd.ExecuteNonQuery();
    
                    //if (data.Number_of_Bolts >= 2)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_2, data.TighteningStatus_2, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_2, data.FinalAngle_2, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 3)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_3, data.TighteningStatus_3, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_3, data.FinalAngle_3, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 4)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_4, data.TighteningStatus_4, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_4, data.FinalAngle_4, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 5)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_5, data.TighteningStatus_5, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_5, data.FinalAngle_5, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 6)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_6, data.TighteningStatus_6, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_6, data.FinalAngle_6, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 7)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_7, data.TighteningStatus_7, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_7, data.FinalAngle_7, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 8)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_8, data.TighteningStatus_8, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_8, data.FinalAngle_8, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 9)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_9, data.TighteningStatus_9, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_9, data.FinalAngle_9, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 10)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_10, data.TighteningStatus_10, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_10, data.FinalAngle_10, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 11)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_11, data.TighteningStatus_11, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_11, data.FinalAngle_11, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 12)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_12, data.TighteningStatus_12, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_12, data.FinalAngle_12, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 13)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_13, data.TighteningStatus_13, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_13, data.FinalAngle_13, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 14)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_14, data.TighteningStatus_14, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_14, data.FinalAngle_14, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 15)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_15, data.TighteningStatus_15, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_15, data.FinalAngle_15, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 16)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_16, data.TighteningStatus_16, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_16, data.FinalAngle_16, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 17)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_17, data.TighteningStatus_17, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_17, data.FinalAngle_17, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
                    //if (data.Number_of_Bolts >= 18)
                    //{
                    //    sql = string.Format(sqlBuilder.ToString(),
                    //        data.TighteningID, data.IDRes, data.ModeName, data.StationName, data.OrdinalBoltNumber_18, data.TighteningStatus_18, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_18, data.FinalAngle_18, "", 0, "");
                    //    incmd.CommandText = sql;
                    //    incmd.ExecuteNonQuery();
                    //}
    
                    #endregion
    
                    #region 反射方法:遍历一次就可以
    
                    Type type = data.GetType();
    
                    string sql;
           
                    for (int i = 1; i <= data.Number_of_Bolts; i++)
                    {
                            string OrdinalBoltNumber= type.GetField("OrdinalBoltNumber_" + i).GetValue(data).ToString();
                            string TighteningStatus= type.GetField("TighteningStatus_" + i).GetValue(data).ToString();
                            double FinalTorque = Convert.ToDouble(type.GetField("FinalTorque_" + i).GetValue(data)) ;
                            double FinalAngle = Convert.ToDouble(type.GetField("FinalAngle_" + i).GetValue(data)) ;
                            double TorqueMax = Convert.ToDouble(type.GetField("TorqueMax_" + i).GetValue(data)) ;
                            double TorqueMin = Convert.ToDouble(type.GetField("TorqueMin_" + i).GetValue(data)) ;
    
                        sql = string.Format(sqlBuilder.ToString(),
                                data.TighteningID, data.IDRes, data.ModeName, data.StationName, OrdinalBoltNumber, TighteningStatus, Convert.ToDateTime(data.t_D_REAL_TIME), FinalTorque, FinalAngle, TorqueMax, TorqueMin, "", 0, "");
                            incmd.CommandText = sql;
                            incmd.ExecuteNonQuery();
                    }
    
                    #endregion
    
                    try
                    {
                        myTrans.Commit();
                        myAccess.Close();
                    }
                    catch
                    {
                        myAccess.Close();
                    }
                }
                catch (Exception e)
                {
                    log.Warn("写入数据库失败,请检查数据库:" + e.ToString());
                }
            }
    

      

    2,sqlserver代码:

            public void SaveMultiTighteningResult(PMOpenProtocol.TighteningResultData data)
            {
                //【1】编写SQL语句
                StringBuilder sqlBuilder = new StringBuilder();//如果字符串比较长,可以用StringBuilder
                sqlBuilder.Append("insert into TighteningResult(TighteningID,ProductSN,StationCode,StationName,PsetName,BoltNumber,TighteningStatus,ResultDateTime,FinalTorque,FinalAngle,TorqueMax,TorqueMin,OperateDateTime,OperateFlag,ErrorInfo)");
                sqlBuilder.Append(" select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}',{13},'{14}'");
                //【2】解析对象
    
                #region 普通方法,要写18次
    
                //string sql = string.Format(sqlBuilder.ToString(),
                //    data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_1, data.TighteningStatus_1, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_1, data.FinalAngle_1,data.TorqueMax_1,data.TorqueMin_1, "", 0, "");
    
                //if (data.Number_of_Bolts >= 2)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_2, data.TighteningStatus_2, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_2, data.FinalAngle_2, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 3)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_3, data.TighteningStatus_3, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_3, data.FinalAngle_3, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 4)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_4, data.TighteningStatus_4, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_4, data.FinalAngle_4, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 5)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_5, data.TighteningStatus_5, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_5, data.FinalAngle_5, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 6)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_6, data.TighteningStatus_6, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_6, data.FinalAngle_6, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 7)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_7, data.TighteningStatus_7, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_7, data.FinalAngle_7, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 8)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_8, data.TighteningStatus_8, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_8, data.FinalAngle_8, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 9)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_9, data.TighteningStatus_9, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_9, data.FinalAngle_9, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 10)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_10, data.TighteningStatus_10, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_10, data.FinalAngle_10, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 11)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_11, data.TighteningStatus_11, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_11, data.FinalAngle_11, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 12)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_12, data.TighteningStatus_12, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_12, data.FinalAngle_12, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 13)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_13, data.TighteningStatus_13, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_13, data.FinalAngle_13, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 14)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_14, data.TighteningStatus_14, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_14, data.FinalAngle_14, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 15)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_15, data.TighteningStatus_15, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_15, data.FinalAngle_15, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 16)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_16, data.TighteningStatus_16, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_16, data.FinalAngle_16, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 17)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_17, data.TighteningStatus_17, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_17, data.FinalAngle_17, "", 0, "");
                //}
                //if (data.Number_of_Bolts >= 18)
                //{
                //    sqlBuilder = new StringBuilder(sql);
                //    sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',{11},'{12}'");
                //    sql = string.Format(sqlBuilder.ToString(),
                //        data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_18, data.TighteningStatus_18, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_18, data.FinalAngle_18, "", 0, "");
                //}
    
                #endregion
    
                #region 反射方法:遍历一次就可以
    
                string sql="";
    
                Type type = data.GetType();
    
                for (int i = 1; i <= data.Number_of_Bolts; i++)
                {
                    if (i == 1)
                    {
                         sql = string.Format(sqlBuilder.ToString(),
                            data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, data.OrdinalBoltNumber_1, data.TighteningStatus_1, Convert.ToDateTime(data.t_D_REAL_TIME), data.FinalTorque_1, data.FinalAngle_1, data.TorqueMax_1, data.TorqueMin_1, "", 0, "");
                    }
                    else
                    {
                        string OrdinalBoltNumber = type.GetField("OrdinalBoltNumber_" + i).GetValue(data).ToString();
                        string TighteningStatus = type.GetField("TighteningStatus_" + i).GetValue(data).ToString();
                        double FinalTorque = Convert.ToDouble(type.GetField("FinalTorque_" + i).GetValue(data));
                        double FinalAngle = Convert.ToDouble(type.GetField("FinalAngle_" + i).GetValue(data));
                        double TorqueMax = Convert.ToDouble(type.GetField("TorqueMax_" + i).GetValue(data));
                        double TorqueMin = Convert.ToDouble(type.GetField("TorqueMin_" + i).GetValue(data));
    
                        sqlBuilder = new StringBuilder(sql);
                        sqlBuilder.Append("union all select '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}',{13},'{14}'");
                        sql = string.Format(sqlBuilder.ToString(),
                            data.TighteningID, data.IDRes, "", data.StationName, data.ModeName, OrdinalBoltNumber, TighteningStatus, Convert.ToDateTime(data.t_D_REAL_TIME), FinalTorque, FinalAngle, TorqueMax, TorqueMin, "", 0, "");
                    }
    
                }
    
                #endregion
                //【3】提交到数据库
                try
                {
                     SQLHelper.Update(sql);
                }
                catch (SqlException ex)
                {
                    log.Warn("数据库操作出现异常!具体信息:" + ex.Message);
                }
                catch (Exception ex)
                {
                    log.Warn("异常!具体信息:" + ex.Message);
                }
            }
    

     

    3,用时对比:

                    Stopwatch sw=new Stopwatch();
                    sw.Start();
                    SaveMultiTighteningResult(data);//数据保存在sqlserver数据库
                    sw.Stop();
                    Console.WriteLine("sql用时:"+sw.Elapsed.TotalMilliseconds);
    
                    Stopwatch sw2 = new Stopwatch();
                    sw2.Start();
                    SaveResultToMyaccess(data);//数据保存在access数据库
                    sw2.Stop();
                    Console.WriteLine("access用时:" + sw2.Elapsed.TotalMilliseconds);

     

    结果:

    sql用时:172.4197
    access用时:454.1316

    建议放入线程中操作,不影响界面的卡顿。

                    Stopwatch sw=new Stopwatch();
                    sw.Start();
                    Thread th2 = new Thread((() => SaveMultiTighteningResult(data)));//数据保存在sqlserver数据库
                    th2.Start();
                    sw.Stop();
                    Console.WriteLine("sql用时:"+sw.Elapsed.TotalMilliseconds);
    
                    Stopwatch sw2 = new Stopwatch();
                    sw2.Start();
                    Thread th = new Thread((() => SaveResultToMyaccess(data)));//数据保存在access数据库
                    th.Start();
                    sw2.Stop();
                    Console.WriteLine("access用时:" + sw2.Elapsed.TotalMilliseconds);
    

      

  • 相关阅读:
    Docker Mysql 只从复制
    Mysql 常用sql记录
    ssh 内网穿透
    MyBatis相关记录
    mybatis(plus) 继承子模块的 Mapper文件
    Navicat 连接 Mysql 错误 2059
    angular service 进行组件通信
    angular 中的 ? 和 !
    angular @Input() 和 @Output()
    Centos7 安装 Docker CE
  • 原文地址:https://www.cnblogs.com/baozi789654/p/15253240.html
Copyright © 2020-2023  润新知