Refilling SQLDataAdapter After postback

puffster

Member
Joined
Apr 21, 2010
Messages
5
Programming Experience
10+
I'm trying to create a class, DataCommon, to contain all my SQL Data manipulation functions. I've created a Subroutine called Init that initializes a SQLDataAdapter:

VB.NET:
Expand Collapse Copy
Public Class DataCommon
    Dim thing As New AssessmentTest.commonCode

    Public sqlDA As SqlDataAdapter

    Public Sub Init()
        sqlDA = New SqlDataAdapter()

        sqlDA.SelectCommand = New SqlCommand
        sqlDA.SelectCommand.Connection = New SqlConnection(thing.DecryptString128Bit(System.Configuration.ConfigurationManager.AppSettings("EncryptedConnectionString"), "234b"))
    End Sub

From my other classes I am creating an instance of DataCommon, calling Init, and calling another subroutine in DataCommon that pulls data from SQL and loads the data into my dataset. This part is working great -- no problems at all. I'm loading three different Datatables in the Dataset with no issues.

At this point, I'll perform my various manipulations on the datatables -- add/delete/modify rows -- again with no problems. All of this is creating postbacks...and this is where my problem begins. After I've done all my manipulations to the data and am ready to update my SQL tables, I have to re-initialize my SQLDataAdapter. I thought I could do something like:

VB.NET:
Expand Collapse Copy
        Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
            Try
                dc.Init()

                dc.sqlDA.Update(dsStaff, "dtStaffLists")

                Response.Redirect("~/community/health.aspx")

            Catch ex As Exception
                Throw New Exception("Exception inserting Class. " + ex.Message)
            End Try
        End Sub

But I get the error: Exception inserting Class. Thread was being aborted.

In my initial data load from SQL, each datatable is getting loaded from a single SQL table, so I was hoping to use the autogenerated Update/Insert/Delete statements by the SQLDataAdapter. As a test, as soon as I filled the dataset initially, I added a new row to one of the datatables and used the SQLDataAdapter.Update() method before a postback occurred, and it worked perfectly.

So, with all that being said, I guess my question is, how do I reconnect the table mappings between my SQLDataAdapter and dataset to autogenerate the updates after a postback occurs? I've tried researching this, but I get confused after reading about FillSchema vs TableMappings vs everything else I've read about :(
 
Back
Top