-2

在我的 SQL 查询中,我只想要 hashset 中的唯一值。

存储唯一值的代码:

var id = new HashSet<String>();
id.Add("A");
id.Add("A");
id.Add("B");

现在我想将唯一值传递给 SQL 查询并找到与唯一 ID 匹配的记录。

我正在按照以下方式进行操作。

DataTable da2 = new DataTable();
foreach(var grp in id)
{
    string uid = grp;
    string s3 = "Select id, fname, lname, dob from ifile where id= @uid";
    SqlCommand cmd1 = new SqlCommand(s3, con);
    cmd1.Parameters.AddWithValue("@id", uid);
    con.Open();
    da2.Load(cmd1.ExecuteReader());
    con.Close();
}
Gridview1.DataSource=da2;

当我执行此查询时,它也会返回重复记录。

此外,以前我只是显示唯一 ID,为此我使用了以下方法,它工作正常。

GridView1.DataSource = id.Select(id1 => new { id1 }).ToList();

由于我想显示更多属性,我不能使用上述方法。

有人可以帮我吗?

谢谢。

4

1 回答 1

3

您可能只想修改您的 SQL 语句,SELECT DISTINCT或者SELECT TOP 1如果有多个具有相同 ID 的记录。也就是说,在数据库中有多个具有相同 ID 的记录是很麻烦的。最好将该列命名为其他名称。

于 2013-07-29T14:23:57.553 回答