I recently had the need to fill a
DataSet with a SQL table, and all related tables, up or down. I also needed the ability to autocreate the relationships in the
DataSet as they existed in SQL. I'm posting the result here for the benefit of other programmers.
Please note: using this object to load large SQL tables is not a good idea!!
The SQL script for returning the relationship members for a specific table can be found in SQLScripts.resx under RelationQuiery_Down or RelationQuiery_Up.
Using the code
The snippet below assumes that you have a
GetDataSet returns a
DataSet filled with all the tables related to the table whose name was passed in as a parameter, as well as this table itself. The tables in the
DataSet are named as they are in the SQL database.
Protected Const SQL_CONNECTION_STRING As String = _
"Server=localhost;" & _
"DataBase=northwind;" & _
Protected DidPreviouslyConnect As Boolean = False
Protected strConn As String = SQL_CONNECTION_STRING
Dim scnnNW As SqlClient.SqlConnection
scnnNW = New SqlClient.SqlConnection(strConn)
Dim rb As New Level54.Data.SQLClient.SQLRelationBuilder(scnnNW)
DataGrid1.DataSource = rb.GetDataSet("Employees", _
DataGrid1.DataMember = "Employees"
Version 1.0.1690.32421: released.
I'm a mechanical engineer working in the pipe manufacturing business, although programming has been my first love for the past twelve years.
My languages of choice are VB.NET, VB6 and C#, in that order. I took last year off from programming, as me and my family moved into a new house, and there were things to be done. When I started up again, I discovered that not only had my .NET abilities gone rusty, but also my VB6 abilities.
Anyway, I love programming. I think .NET is the best thing since sliced bread (coming from VB6).