首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用list AddRange时删除重复值?C#

如何在使用list AddRange时删除重复值?C#
EN

Stack Overflow用户
提问于 2017-02-17 10:57:46
回答 2查看 1.1K关注 0票数 3

我正在分析和制作windows服务应用程序。

当我执行Insert查询时,我使用List<SqlParameter>和AddRange添加列。

List<SqlParameter> pmlist = new List<SqlParameter>(keys);行中,包含{@DeptCode}。

然后添加pmlist.AddRange(pms);行、pms参数。

前面提到的pmslist已经有了{@DeptCode},所以pmlist的值如下所示

代码语言:javascript
运行
复制
 pmlist = [0] {@DeptCode} [1] {@DeptCode} [2] {@DeptName}  
 [3] {@ParentDeptName} [4] {@ParentDeptCode} [5] {@DeptLevel}

DeptCode重复。因此,它尝试将查询插入到ShadowDeptTable,

它也有5列,发生Sql异常。

如何移除或不获取重复值?请帮帮我。

代码如下。

代码语言:javascript
运行
复制
//table : ShadowDeptTable ,  keys = {@DeptCode}, 
//pms =   [0] {@DeptCode} [1] {@DeptName} [2] {@ParentDeptName}  
//        [3] {@ParentDeptCode} [4] {@DeptLevel}    

public static int InsertOrUpdate(string table, SqlParameter[] keys, params SqlParameter[] pms)
{
   int st = 0;
   string constr = Util.GetPropVal(Words.PropConnectionString);
   var obj = SqlHelper.ExecuteScalar(constr,CommandType.Text,sb.ToString(),keys);
   StringBuilder sb=new StringBuilder();
   sb = sb.Append("insert into " + table + "(");
   //columns
   string cols = null;
   //values
   string vals = null;
   List<SqlParameter> pmlist = new List<SqlParameter>(keys);
   pmlist.AddRange(pms);
   cols = string.Join(",", pmlist.Select(a => "["+a.ParameterName.Substring(1, a.ParameterName.Length-1)+"]"));
   vals = string.Join(",", pmlist.Select(a => "'" + a.Value + "'"));
   sb = sb.Append(cols);
   sb = sb.Append(") values(");
   sb = sb.Append(vals);
   sb = sb.Append(")");
   obj = SqlHelper.ExecuteScalar(constr, CommandType.Text, sb.ToString());
   return Convert.ToInt32(obj);
}
EN

Stack Overflow用户

发布于 2017-02-17 11:45:10

尝试使用Except

代码语言:javascript
运行
复制
List<SqlParameter> newPms = pms.Except(pmlist).ToList();
pmlist.AddRange(newPms);
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42288605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档