1. 程式人生 > >【批量新增】-拼接sql字串

【批量新增】-拼接sql字串

        現在做的一個專案需要用到批量新增,但是封裝的底層沒有這個方法,所以自食其力,自己來寫。我們用的是拼接sql字串的方法來實現功能。

     具體實現流程:首先將需要的資料儲存到實體的list中,然後將這個list傳給我們批量新增的方法。批量新增的方法首先應該開啟資料庫連線,然後開始進行sql字串的拼接,拼接完成後,呼叫sqlhelper方法進行新增。

      具體程式碼如下:

        #region 批量新增實體
        /// <summary>
        /// 批量新增實體
        /// </summary>
        /// <param name="staffscores"></param>
        /// <returns></returns>
        public bool Insert(List<YzQueryStaffScoresEntity> staffscores)
        {
            //開啟資料庫連線
            SQLHelper sqlHelper = new SQLHelper("data source=192.168.22.239;initial catalog=YzEvaluationSystem;persist security info=True;user id=sa;password=xxx;", true);

            StringBuilder sbSql = new StringBuilder();

            //拼接字串,新增方法
            sbSql.Append("insert into YzQueryStaffScoresEntity(ID,StaffID,StaffName,WorkEfficiency,ProfessionalEthics,BusinessAbility,HonestyDiscipline,WorkPerformance,other1,other2,Number,TotalScores,IsUsed) values");


            //迴圈實體list,進行拼接
            if (staffscores.Count > 1)
            {
                for (int i = 0; i < staffscores.Count - 1; i++)
                {
                    sbSql.Append("('" + staffscores[i].ID + "',");
                    sbSql.Append("'" + staffscores[i].StaffID + "',");
                    sbSql.Append("'" + staffscores[i].StaffName + "',");
                    sbSql.Append(staffscores[i].WorkEfficiency + ",");
                    sbSql.Append(staffscores[i].ProfessionalEthics + ",");
                    sbSql.Append(staffscores[i].BusinessAbility + ",");
                    sbSql.Append(staffscores[i].HonestyDiscipline + ",");
                    sbSql.Append(staffscores[i].WorkPerformance + ",");
                    sbSql.Append(staffscores[i].other1 + ",");
                    sbSql.Append(staffscores[i].other2 + ",");
                    sbSql.Append(staffscores[i].Number + ",");
                    sbSql.Append(staffscores[i].TotalScores + ",");
                    sbSql.Append(1);
                    sbSql.Append("),");
                }
                sbSql.Append("('" + staffscores[staffscores.Count - 1].ID + "',");
                sbSql.Append("'" + staffscores[staffscores.Count - 1].StaffID + "',");
                sbSql.Append("'" + staffscores[staffscores.Count - 1].StaffName + "',");
                sbSql.Append(staffscores[staffscores.Count - 1].WorkEfficiency + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].ProfessionalEthics + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].BusinessAbility + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].HonestyDiscipline + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].WorkPerformance + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].other1 + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].other2 + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].Number + ",");
                sbSql.Append(staffscores[staffscores.Count - 1].TotalScores + ",");
                sbSql.Append(1);
                sbSql.Append(")");
            }
            //呼叫sqlhelper方法進行新增。
            int flag = sqlHelper.ExecuteNonQuery(sbSql.ToString(), System.Data.CommandType.Text);
            if (flag > 0)
            {
                return true;
            }
            else
            {
                return false;
            }


        }
        #endregion

     一開始說要自己寫sql拼接字串的時候還覺得,哇塞,這肯定特別難,我光聽說了,從來沒有見過啊,結果一見之下,發現非常的簡單。所以,不怕不知道,就怕不知道!各位加油