public bool Update(SystemLog model, List <string> fileds, string sqlWhere) { StringBuilder strSql = new StringBuilder(); strSql.AppendFormat("update {0} set ", model.GetType().Name); List <string> filedsList = new List <string>(); List <SqlParameter> sqlParameter = new List <SqlParameter>(); SqlParameter Param = new SqlParameter("@Id", SqlDbType.Int, 4); if (string.IsNullOrEmpty(sqlWhere)) { Param.Value = model.Id; sqlParameter.Add(Param); } foreach (string filed in fileds) { filedsList.Add(string.Format("{0}=@{0}", filed)); Param = new SqlParameter(string.Format("@{0}", filed), model.GetType().GetProperty(filed).GetValue(model, null)); sqlParameter.Add(Param); } strSql.AppendFormat("{0}", string.Join(",", filedsList.ToArray())); if (string.IsNullOrEmpty(sqlWhere)) { strSql.Append(" where Id=@Id "); } else { strSql.AppendFormat(" where 1=1 and {0} ", sqlWhere); } SqlParameter[] parameters = sqlParameter.ToArray(); return(sqlhelper.ExecNon(strSql.ToString(), parameters) > 0 ? true : false); }