Low Chee Mun
Low Chee Mun

Reputation: 610

loop multiple table from dataset

i have 2 table in my dataset, what i trying to achieve is convert 2 table item into string

Public Shared Function mtdCDsToStr(ByVal pDataSet As DataSet) As String
        Dim sDs As String
        Dim sb As New System.Text.StringBuilder


        Dim drRow As DataRow
        Dim dcColumn As DataColumn
        Dim dtTable As DataTable
        Dim x As Integer = 0

        For Each dtTable In pDataSet.Tables
            For Each drRow In pDataSet.Tables(x).Rows
                Dim colName(pDataSet.Tables(x).Columns.Count) As String
                Dim i As Integer = 0
                For Each dcColumn In pDataSet.Tables(0).Columns
                    colName(i) = dcColumn.ColumnName
                    sb.Append(colName(i) + "," + drRow(colName(i)).ToString + ",")
                    i += 1
                Next

                sb.Append("|")
            Next


            x += 1
            sb.Append("$")
        Next


        sDs = sb.ToString

        Return sDs
    End Function

code explanation the function is to pass in a dataset and convert the dataset into a string what i trying to achieve is convert multiple datatable into a string but i can only loop one table in my code above, what should i do in order to loop multi table? =(

Upvotes: 0

Views: 545

Answers (1)

Damith
Damith

Reputation: 63065

change as below

For Each dtTable As DataTable In dataSet.Tables
    For Each dr As DataRow In dtTable.Rows
        For Each column As DataColumn In dtTable.Columns
            sb.Append(column.ColumnName + "," & dr(column.ColumnName).ToString() & ",")
        Next
        sb.Append("|")
    Next
    sb.Append("$")
Next

But rather than converting DataSet to string you may try to get XML from DataSet. I'm Not sure What is the exact requirement you converting to sting, but XML will be good way to communicate Data.

xmlString =lpDataSet.GetXml() 

Upvotes: 1

Related Questions