/// <summary> /// 摘要:插入一条记录 /// </summary> /// <param name="T">实体类对象</param> /// <returns>自增长主键时返回主键值</returns> public override string Insert(object T) { base.Insert(T); StringBuilder sbColumnName = new StringBuilder(); StringBuilder sbValues = new StringBuilder(); List <string> lisParameter = new List <string>(); List <object> lisParameterValues = new List <object>(); foreach (Record drTemp in base._Records) { if (drTemp.IsAuto == 0) { sbColumnName.Append(_Transfer_B); sbColumnName.Append(drTemp.Name); sbColumnName.Append(_Transfer_E); sbColumnName.Append(","); sbValues.Append(_VariableC + drTemp.Name); sbValues.Append(","); lisParameter.Add(_VariableC + drTemp.Name); lisParameterValues.Add(drTemp.Value); } else { //自增长列的处理,如何返回自增长的值。 } } Insert insertSql = new Insert(base._TableName, sbColumnName.Remove(sbColumnName.Length - 1, 1), sbValues.Remove(sbValues.Length - 1, 1)); int iResult = ExecuteSql.ExeParaSqlForNonQuery(insertSql.ConnectInsertString(), lisParameter, lisParameterValues); return(string.Empty); }
/// <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)) { sbColumnName.Append(_Transfer_B); sbColumnName.Append(drTemp.Name); sbColumnName.Append(_Transfer_E); sbColumnName.Append("="); sbColumnName.Append(_VariableC + drTemp.Name); sbColumnName.Append(","); 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.ExeParaSqlForNonQuery(UpdateSql.ConnectUpdateString(), lisParameter, lisParameterValues); }
/// <summary> /// 根据主键值数组删除记录 /// </summary> /// <param name="T">实体类对象</param> /// <param name="value">要删除的主键值数组</param> public override void Delete(string PK, string tableName, List <string> value) { 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>(); //Where条件 主键的值(必须有主键)。 sbUpdateWhere.Append(_Transfer_B); sbUpdateWhere.Append(PK); sbUpdateWhere.Append(_Transfer_E); sbUpdateWhere.Append("IN"); sbUpdateWhere.Append("("); for (int i = 0; i < value.Count; i++) { sbUpdateWhere.Append(_VariableC + PK + "_" + i.ToString()); lisParameter.Add(_VariableC + PK + "_" + i.ToString()); lisParameterValues.Add(value[i]); } sbUpdateWhere.Append(")"); Delete DeleteSql = new Delete(true, base._FrontTableName, base._TableName, sbUpdateWhere); int iResult = ExecuteSql.ExeParaSqlForNonQuery(DeleteSql.ConnectDeleteString(), lisParameter, lisParameterValues); }