/// <summary> /// 哈希表生成Insert语句 /// </summary> /// <param name="tableName">表名</param> /// <param name="ht">Hashtable</param> /// <returns>int</returns> public static StringBuilder InsertSql(string tableName, Hashtable ht) { StringBuilder sb = new StringBuilder(); sb.Append(" Insert Into "); sb.Append(tableName); sb.Append("("); StringBuilder sp = new StringBuilder(); StringBuilder sb_prame = new StringBuilder(); foreach (string key in ht.Keys) { if (ht[key] != null) { sb_prame.Append("," + key); sp.Append("," + DbParameters.CreateDbParmCharacter() + "" + key); } } sb.Append(sb_prame.ToString().Substring(1, sb_prame.ToString().Length - 1) + ") Values ("); sb.Append(sp.ToString().Substring(1, sp.ToString().Length - 1) + ")"); return(sb); }
/// <summary> /// 泛型方法,反射生成InsertSql语句 /// </summary> /// <param name="entity">实体类</param> /// <returns>int</returns> public static StringBuilder InsertSql <T>(T entity, string NotUpdateColName = "") { Type type = entity.GetType(); StringBuilder sb = new StringBuilder(); sb.Append(" Insert Into "); sb.Append(EntityAttribute.GetEntityTable <T>()); sb.Append("("); StringBuilder sp = new StringBuilder(); StringBuilder sb_prame = new StringBuilder(); PropertyInfo[] props = type.GetProperties(); foreach (PropertyInfo prop in props) { if (prop.GetValue(entity, null) != null && !NotUpdateColName.Split(',').Contains(prop.Name)) { sb_prame.Append("," + (prop.Name)); sp.Append("," + DbParameters.CreateDbParmCharacter() + "" + (prop.Name)); } } sb.Append(sb_prame.ToString().Substring(1, sb_prame.ToString().Length - 1) + ") Values ("); sb.Append(sp.ToString().Substring(1, sp.ToString().Length - 1) + ")"); return(sb); }
/// <summary> /// 拼接删除SQL语句 /// </summary> /// <param name="tableName">表名</param> /// <param name="pkName">字段主键</param> /// <returns></returns> public static StringBuilder DeleteSql(string tableName, string pkName) { return(new StringBuilder("Delete From " + tableName + " Where " + pkName + " = " + DbParameters.CreateDbParmCharacter() + pkName + "")); }