0

I have this class:

Imports System.Data
Public Class SqlToDataset
#Region "Partial Class DataFields"
#End Region
    Public Tables As List(Of DataTable)
    Public Structure SqlTable
        Dim DataFields As List(Of DataFields)
        Dim Rows As List(Of DataRow)
    End Structure
    Public SqlTables As List(Of SqlTable)
    Public Sub New()
        Tables = New List(Of DataTable)
        SqlTables = New List(Of SqlTable)
    End Sub
    Public Sub LoadData()
        Dim OneSqlTable As New SqlTable
        For Each _DataTable As DataTable In Tables
            Dim _Fields As New DataFields
            For Each _DataColumn As DataColumn In _DataTable.Columns
                _Fields.AddField(_DataColumn.ColumnName, _DataColumn.DataType.ToString, _DataTable.Columns.IndexOf(_DataColumn.ColumnName))
            Next
            OneSqlTable.DataFields.Add(_Fields)
        Next


    End Sub
End Class

In sub LoadData at the line OneSqlTable.DataFields.Add(_Fields) I get the error, that DataFields isn't set. I think, I have set it with this Dim OneSqlTable As New SqlTable.

Can you advise me, where I am wrong?

Thanks.

Bergi
  • 630,263
  • 148
  • 957
  • 1,375
derstauner
  • 1,478
  • 2
  • 23
  • 44

1 Answers1

0

Dim OneSqlTable As New SqlTable creates a new SqlTable object, but that object has a null DataFields property.

You would need to define SqlTable like this:

Public Structure SqlTable
    Dim DataFields As List(Of DataFields)
    Dim Rows As List(Of DataRow)

    Public Sub New()
       DataFields = New List(Of DataFields)
       Rows = New List(Of DataRow)
    End Sub
End Structure
James Curran
  • 101,701
  • 37
  • 181
  • 258