Generating .NET POCO Classes for SQL Query Results: Listing 1

Using ADO.NET to retrieve the schema of a dynamic query.

Private Function GetQuerySchema(ByVal strconn As String, ByVal strSQL As String) As DataTable
  Dim sconQuery As New SqlConnection
  Dim scmdQuery As New SqlCommand
  Dim srdrQuery As SqlDataReader = Nothing
  Dim intRowsCount As Integer = 0
  Dim dtSchema As New Data.DataTable
  Try
    sconQuery.ConnectionString = strconn
    sconQuery.Open()
    scmdQuery.Connection = sconQuery
    scmdQuery.CommandText = strSQL

    srdrQuery = scmdQuery.ExecuteReader(Data.CommandBehavior.SchemaOnly)
    dtSchema = srdrQuery.GetSchemaTable
  Catch ex As Exception
    Err.Raise(-1000, , "Error = '" & ex.Message & " ': sql = " & strSQL)
  Finally
    If Not IsNothing(srdrQuery) Then
      If Not srdrQuery.IsClosed Then srdrQuery.Close()
    End If
    scmdQuery.Dispose()
    sconQuery.Close()
    sconQuery.Dispose()
  End Try
  Return dtSchema
End Function

About the Author

Joe Kunk is a Microsoft MVP in Visual Basic, three-time president of the Greater Lansing User Group for .NET, and developer for Dart Container Corporation of Mason, Michigan. He's been developing software for over 30 years and has worked in the education, government, financial and manufacturing industries. Kunk's co-authored the book "Professional DevExpress ASP.NET Controls" (Wrox Programmer to Programmer, 2009). He can be reached via email at [email protected].

comments powered by Disqus

Featured

  • .NET Community Toolkit v8.0 Preview Revamps MVVM Library

    Microsoft announced the first preview of .NET Community Toolkit v8.0.0, which revamps the MVVM library and introduces a new GitHub repo to host the project.

  • Microsoft Details Native Integration of Elastic on Azure

    Microsoft detailed the native integration of Elastic tech with its Azure cloud computing platform, increasing application observability.

  • Java on Visual Studio Code Going Cloud Native

    Cloud-native development figures prominently in a new roadmap published by Microsoft's Java on Visual Studio Code dev team.

  • Speed Lines Graphic

    Quantum-Inspired Annealing Using C# or Python

    Dr. James McCaffrey of Microsoft Research explains a new idea that slightly modifies standard simulated annealing by borrowing ideas from quantum mechanics.

Upcoming Events