Solution was found Here (Thank you James!):
http://www.pcreview.co.uk/threads/newbie-bound-textbox-not-updating-dataset.1398996/[
^]
The Textbox Does not mark the Datatable as updated until you move to the next record.
since I am only only working with one record, I had to create a BindingManager.
Using the .EndCurrentEdit() from the Binding Manager allowed the record to be marked for update.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class Customer
Dim connString As String = "Password=TestPassword;User ID=TestUserName;" & "Initial Catalog=DB2;" & "Data Source=LocalSQLServer ; Asynchronous Processing=true"
Dim GlobalSQLConnection As New SqlConnection
Dim GlobalDataSet As DataSet = New DataSet
Dim da_Customers As New SqlDataAdapter
Dim bl As New SqlCommandBuilder
Public Sub loadCustomer(Customerid)
GlobalSQLConnection = New SqlConnection(connString)
GlobalSQLConnection.Open()
GlobalDataSet.Tables.Add("Customers")
da_Customers = New SqlDataAdapter("Select * from customers where id=118", GlobalSQLConnection)
bl = New SqlCommandBuilder(da_Customers)
da_Customers.FillSchema(GlobalDataSet, SchemaType.Source, "Customers")
da_Customers.Fill(GlobalDataSet.Tables("Customers"))
TextBox1.DataBindings.Add(New Binding("text", GlobalDataSet.Tables("Customers"), "CustomerName"))
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim bm as BindingManagerBase = BindingContext(GlobalDataSet, "Customers")
bm.EndCurrentEdit()
da_Customers.Update(GlobalDataSet, "Customers")
Debug.Print("all done go check")
End Sub
Private Sub Customer_Load(sender As Object, e As EventArgs) Handles MyBase.Load
loadCustomer(18)
End Sub
End Class