/// <summary> /// 更新一条记录 /// </summary> /// <param name="T">实体类对象</param> public override void Update(object T) { base.Update(T); StringBuilder sbColumnName = new StringBuilder(); StringBuilder sbValues = new StringBuilder(); StringBuilder sbUpdateWhere = new StringBuilder();//Where 条件 List <string> lisParameter = new List <string>(); List <object> lisParameterValues = new List <object>(); bool HasWhere = false;//是否有主键 foreach (Record drTemp in base._Records) { if (drTemp.IsPK == 0) { if (!drTemp.Value.Equals(string.Empty)) { if (sbColumnName.Length > 0) { sbColumnName.Append(","); } sbColumnName.Append(_Transfer_B); sbColumnName.Append(drTemp.Name); sbColumnName.Append(_Transfer_E); sbColumnName.Append("="); sbColumnName.Append(_VariableC + drTemp.Name); lisParameter.Add(_VariableC + drTemp.Name); lisParameterValues.Add(drTemp.Value); } } else { //Where条件 主键的值(必须有主键)。 HasWhere = true; sbUpdateWhere.Append(_Transfer_B); sbUpdateWhere.Append(drTemp.Name); sbUpdateWhere.Append(_Transfer_E); sbUpdateWhere.Append("="); sbUpdateWhere.Append(_VariableC + drTemp.Name); lisParameter.Add(_VariableC + drTemp.Name); lisParameterValues.Add(drTemp.Value); } } Update UpdateSql = new Update(HasWhere, base._TableName, sbColumnName, sbUpdateWhere); int iResult = ExecuteSql.ExeParaSqlForNonQueryAccUp(UpdateSql.ConnectUpdateString(), lisParameter, lisParameterValues); }