• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 806
  • Last Modified:

.NET error - Join of row.ItemArray in DataTable

I have some data in a DataTable.  I want to write it to a tab delimited file.

In the following code I am getting this error on the Join command:
System.ArgumentException: Argument 'SourceArray' cannot be converted to type 'String'.

I am using VS 2008 and .NET 2.0.  Thanks for any ideas.
Dim row As DataRow
Using sOut As New StreamWriter(tabFileName)
       For Each row In dt.Rows
               sOut.WriteLine(Join(row.ItemArray, vbTab))
End Using

Open in new window

Tom Sage
Tom Sage
1 Solution
That's because not all columns are Strings.

You'll have to do it like this:

        Dim delimiter As String = String.Empty
        For Each row As DataRow In dt.Rows

            delimiter = String.Empty
            For i As Integer = 0 To dt.Columns.Count - 1

                sOut.Write(delimiter & row.Item(i).ToString())

                delimiter = vbTab




Tom SageAuthor Commented:

Thanks for your quick response.  I get the idea.

Thanks again
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now