PDA

View Full Version : یافتن سطر تکراری در DataTable با استفاده از LinQ



Developer Programmer
شنبه 25 دی 1389, 10:27 صبح
یک DataTable ساختم و به سطرهاش مقدار دادم


Dim dt As New DataTable("RizPardakht")

Dim RowID As New DataColumn("tbz_GatiPardakhtID")
Dim FishNo As New DataColumn("tbz_FishNo")

RowID.DataType = GetType("System.Int32")
FishNo.DataType = GetType("System.String")

With dt.Columns
.Add(RowID)
.Add(FishNo)
End with

Dim Row As DataRow = dt.NewRow()

With Row
.Item("tbz_GatiPardakhtID") = gridPardakht.Rows.Count
.Item("tbz_FishNo") = txtFishNo.Text.Trim
end with

dt.Rows.Add(Row)

الان می خوام با استفاده از LinQ بفهمم که آیا شماره چک تکراری وارد شده یا نه...


Dim duplicates = From r In dt.AsEnumerable()
Group r By key = "tbz_FishNo" Into Group
Where Group.Count > 1
Select fishno = key, number = Group

If duplicates.Count > 1 Then
MsgBox("duplicate")
Exit Sub
End if

اما کوئری فوق درست کار نمی کنه. کسی میتونه کمک کنه؟

mehran_sh_t
چهارشنبه 29 دی 1389, 22:16 عصر
شما یک بار در قسمت اول (Dim duplicate) بر اساس Group.count > 1 انتخاب کردید، بعد دوباری در قسمت شرط duplicate.count > 1 گذاشتید.
اینطوری اگر بیش از یک بار duplicate رخ داده باشه پیغام میده.
باید در قسمت شرط duplicates.count > 0 بذارید