如何使用数据视图来检查相同的值

本文关键字:检查 何使用 数据 视图 | 更新日期: 2023-09-27 18:07:01

DataTable dt = new DataTable();
res.Fill(dt);

获取SQL数据代码

DataRow dr = dt.NewRow();
dr[0] = tt_id;
dr[1] = fault_desc;
dr[2] = tt_time;
dt.Rows.Add(dr);
DataView dv = new DataView(dt);
Response.Write(dv);
if (dv.Count != dv.ToTable(true, "tt_id").Rows.Count) {
  // string sqlstr = string.Format("insert 
}

我想使用dataview来检查sql中以前存在的新数据如果存在,取消插入。问题是回应说我有相同的值但是我检查了dv中没有相同值的地方。这是怎么了?

如何使用数据视图来检查相同的值

var duplicateValues = (from row in dt.AsEnumerable()
                   orderby row.Field<string>("Id")
                   select new DuplicateObject
                   {
                       Id = row.Field<string>("Id"),
                       Name = row.Field<string>("Name"),
                       Skill = row.Field<string>("Skill")
                   }).Distinct(new DuplicateObjectComparer()).ToList();
string dupValue = string.Empty;
foreach (var dup in duplicateValues)
{
dupValue = dup.Id + " - " + dup.Name + " - " + dup.Skill;
Console.WriteLine("Duplicate entry:" + dupValue);
}
if (duplicateValues.Count == 0)
Console.WriteLine("No duplicate entry");
// Supporting classes
// Gives a strongly type class from the Linq query    
public class DuplicateObject
{
  public string Id { get; set; }
  public string Name { get; set; }
  public string Skill { get; set; }
}