Beispiel #1
0
        public void Update(SysParam item)
        {
            if(item.ChangedPropertyCount>0)
                {
                    StringBuilder sqlbuilder = new StringBuilder();
                    sqlbuilder.Append("UPDATE [SysParams] SET ");
                    Dictionary<string,string> cols =new Dictionary<string,string>();
                    cols.Add("ParamName","[ParamName]");
                    cols.Add("ParamValue","[ParamValue]");
                    cols.Add("Remark","[Remark]");
                    int i = 0;
                    //UPDATE COLUMNS
                    foreach (string p in item.ChangedPropertyList)
                    {
                        if(!cols.ContainsKey(p))
                        {
                            continue;
                        }
                        if (i > 0)
                        {
                            sqlbuilder.Append(",");
                        }
                        sqlbuilder.AppendFormat("{0}=@{1}", cols[p], p);
                        i++;
                    }
                    //WHERE;
                    sqlbuilder.Append(" WHERE [ParamCode]=@ParamCode");

                    List<SqlParameter> SPParams = new List<SqlParameter>();
                     SPParams.Add(new SqlParameter("@ParamCode",item.ParamCode));

                    if(item.IsChanged("ParamName"))
                    {
                        SPParams.Add(new SqlParameter("@ParamName",item.ParamName));
                    }
                    if(item.IsChanged("ParamValue"))
                    {
                        SPParams.Add(new SqlParameter("@ParamValue",item.ParamValue));
                    }
                    if(item.IsChanged("Remark"))
                    {
                        SPParams.Add(new SqlParameter("@Remark",item.Remark));
                    }
                    base.ExecuteNonQuery(sqlbuilder.ToString(), SPParams.ToArray());
                }
        }