VB.NET 判断Datatable某列值唯一问题
请教一个问题,关于VB.nt的 我有一个datatable 里面的数据比如是SONmb a b c d
001
001
001
002
我可以通过什么方法来 判断 SONmb 这一列的值是否有不同的值存在!
我想过用遍历的方法 ,但是万一数据量大的话 遍历就会影响运行速度! 还有其他的方法嘛?
比如 DataView 能用到这里不? datatable列值唯一 --------------------编程问答-------------------- 建议您在填充datatable时就去判断此列是否已经存在相同的值。 --------------------编程问答--------------------
System.Data.DataTable dt = new System.Data.DataTable();--------------------编程问答-------------------- vb.net的代码
dt.Columns.Add("SONmb", typeof(String));
dt.Columns.Add("a", typeof(String));
dt.Columns.Add("c", typeof(String));
dt.Columns.Add("d", typeof(String));
dt.Rows.Add(new object[] { "001", "1","11","111" });
dt.Rows.Add(new object[] { "002", "2","22","222" });
dt.Rows.Add(new object[] { "001", "3","33","333" });
dt.Rows.Add(new object[] { "001", "4", "44", "444" });
DataView dv = new DataView(dt);
int i = dv.ToTable(true, "SONmb").Rows.Count;
if (i > 1)
{
MessageBox.Show("SONmb里面不同的数据");
}
Dim i As Integer--------------------编程问答-------------------- ' 可以用Linq语句,过滤出唯一值:
Dim dt As New System.Data.DataTable
dt.Columns.Add("SONmb", GetType(String))
dt.Columns.Add("a", GetType(String))
dt.Columns.Add("c", GetType(String))
dt.Columns.Add("d", GetType(String))
dt.Rows.Add(New Object() {"001", "1", "11", "111"})
dt.Rows.Add(New Object() {"002", "2", "22", "222"})
dt.Rows.Add(New Object() {"001", "3", "33", "333"})
dt.Rows.Add(New Object() {"001", "4", "44", "444"})
Dim dv As New DataView(dt)
i = dv.ToTable(True, "SONmb").Rows.Count
If i > 1 Then
MessageBox.Show("SONmb里面不同的数据")
End If
Imports System.Linq.Expressions
Imports System.Data.Linq.Mapping
Imports System.Data.Linq
Dim t = From o In orders
Select New With {Key .ShipCountry = o.Field(Of String)("ShipCountry")}
Distinct
if order.rows.count > t.rows.count
MessageBox.Show("ShipCountry 有重复值!")
end if
补充:.NET技术 , VB.NET