C# 填充组合框,不包含存储过程中的重复项
我试图用从存储过程中获取的数据填充一个组合框。但它显示了所有内容的副本 不管怎样,把这些双打删掉,把所有的东西都展示一次 存储过程:C# 填充组合框,不包含存储过程中的重复项,c#,database,stored-procedures,combobox,duplicate-removal,C#,Database,Stored Procedures,Combobox,Duplicate Removal,我试图用从存储过程中获取的数据填充一个组合框。但它显示了所有内容的副本 不管怎样,把这些双打删掉,把所有的东西都展示一次 存储过程: SELECT * FROM Personeel LEFT JOIN Afdeling ON Afdeling.AfdelingID = Personeel.AfdelingID SELECT distinct * FROM Personeel LEFT JOIN Afdeling ON Afdeling.AfdelingID = Personeel.Afdeli
SELECT *
FROM Personeel
LEFT JOIN Afdeling ON Afdeling.AfdelingID = Personeel.AfdelingID
SELECT distinct *
FROM Personeel
LEFT JOIN Afdeling ON Afdeling.AfdelingID = Personeel.AfdelingID
已更改的存储过程:
SELECT *
FROM Personeel
LEFT JOIN Afdeling ON Afdeling.AfdelingID = Personeel.AfdelingID
SELECT distinct *
FROM Personeel
LEFT JOIN Afdeling ON Afdeling.AfdelingID = Personeel.AfdelingID
如图所示:
执行存储过程时的数据:
我可以创建一个新的存储过程。但是如果我可以用我已经有的那为什么我要用呢
帮忙?提前感谢再次填充之前,您需要清除其中的所有项目。您已经添加了一次所有项目,然后又添加了一次;每个项目已添加两次。选择DISTINCT* 来自个人
Distinct将只返回一个您没有真正为某人提供足够的信息来帮助您解决具体问题,例如,没有表架构信息和未知的对象类型来说明数据如何存储在C端,并且您没有共享您已经尝试删除重复项的内容。您认为应该如何做?您如何将这些数据绑定到您的组合框?可能多次,我会说-我不认为这真的是SQL或存储过程问题-更可能是应用程序代码主窗口中的逻辑问题:cboAfdeling.ItemsSource=MedewerkerDAL.GetUsers.DefaultView;代码类MedewerkerDAL:public static DataTable GetUsers{DataTable dt=new DataTable;SqlDataAdapter da=new sqldataadapters sp_GetUsers,ConnectionDAL.GetConnection;da.SelectCommand.CommandType=CommandType.StoredProcedure;da.Filldt;return dt;}@marc_sHow你得出这个结论时没有看到他的任何代码吗?这给出了一个错误:Msg 421,级别16,状态1,过程sp_GetUsers,第13行文本数据类型不能选择为DISTINCT,因为它不可比较。看起来他想要一个不同的名称列表。DISTINCT*不会返回一个不同的名称列表,例如其中一列包含唯一的id或其他元数据。@user2287508您可能喜欢亲自研究其中一些问题:@JustinHelgerson djee谢谢,讽刺的方式,DISTINCT现在起作用了,仍然不会删除重复项。