User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the VB.NET section within the Software Development category of DaniWeb, a massive community of 391,705 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,191 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our VB.NET advertiser:
Views: 1812 | Replies: 3
Reply
Join Date: Jul 2007
Posts: 9
Reputation: Baskar_engg is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
Baskar_engg's Avatar
Baskar_engg Baskar_engg is offline Offline
Newbie Poster

Troubleshooting Working With Dataset

  #1  
Aug 1st, 2007
hi
im having a dataset in which i have to filter a column with unique values
Regards
Baskar
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Nov 2006
Posts: 692
Reputation: QVeen72 is an unknown quantity at this point 
Rep Power: 3
Solved Threads: 95
QVeen72's Avatar
QVeen72 QVeen72 is offline Offline
Practically a Master Poster

Re: Working With Dataset

  #2  
Aug 1st, 2007
Hi,

Refine ur Query, which u use to fill the Dataset:
check this:

MyStr = "Select Distinct FldName From MyTable"
OCmd = New OleDbCommand(MyStr, oConn)
da.SelectCommand = OCmd
da.Fill(oDS, "t1")


Regards
Veena
Reply With Quote  
Join Date: Jul 2007
Posts: 9
Reputation: Baskar_engg is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
Baskar_engg's Avatar
Baskar_engg Baskar_engg is offline Offline
Newbie Poster

Help Re: Working With Dataset

  #3  
Aug 1st, 2007
hi veena

im fetching records from excel file
"distinct" keyword is not support by that
and i have to handle more than 30000 records
i have to use "select query" inside that dataset help me out in thiz way
a column i have to filter has repeated records so i have to use "select distinct " inside that dataset i dont know how to do it
Regards
Baskar
Reply With Quote  
Join Date: Jan 2007
Posts: 4
Reputation: Ponchs is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
Ponchs Ponchs is offline Offline
Newbie Poster

Re: Working With Dataset

  #4  
Jan 2nd, 2008
The only way is to handle selection with a function:

Public Shared Function SelectDistinct(ByVal SourceTable As DataTable, ByVal ParamArray FieldNames() As String) As DataTable
Dim lastValues() As Object
Dim newTable As DataTable

If FieldNames Is Nothing OrElse FieldNames.Length = 0 Then
Throw New ArgumentNullException("FieldNames")
End If

lastValues = New Object(FieldNames.Length - 1) {}
newTable = New DataTable

For Each field As String In FieldNames
newTable.Columns.Add(field, SourceTable.Columns(field).DataType)
Next

For Each Row As DataRow In SourceTable.Select("", String.Join(", ", FieldNames))
If Not fieldValuesAreEqual(lastValues, Row, FieldNames) Then
newTable.Rows.Add(createRowClone(Row, newTable.NewRow(), FieldNames))

setLastValues(lastValues, Row, FieldNames)
End If
Next

Return newTable
End Function

Private Shared Function fieldValuesAreEqual(ByVal lastValues() As Object, ByVal currentRow As DataRow, ByVal fieldNames() As String) As Boolean
Dim areEqual As Boolean = True

For i As Integer = 0 To fieldNames.Length - 1
If lastValues(i) Is Nothing OrElse Not lastValues(i).Equals(currentRow(fieldNames(i))) Then
areEqual = False
Exit For
End If
Next

Return areEqual
End Function

Private Shared Function createRowClone(ByVal sourceRow As DataRow, ByVal newRow As DataRow, ByVal fieldNames() As String) As DataRow
For Each field As String In fieldNames
newRow(field) = sourceRow(field)
Next

Return newRow
End Function

Private Shared Sub setLastValues(ByVal lastValues() As Object, ByVal sourceRow As DataRow, ByVal fieldNames() As String)
For i As Integer = 0 To fieldNames.Length - 1
lastValues(i) = sourceRow(fieldNames(i))
Next
End Sub
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

DaniWeb VB.NET Marketplace
Thread Tools Display Modes

Similar Threads
Other Threads in the VB.NET Forum

All times are GMT -4. The time now is 2:48 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC