Binding Textboxes. Will they update the database?

Hi there,
I am New At VB.Net.

I have a simple master detail form with some text fields, comboboxes and a datagrid.
I have several dataadapters making up a dataset.
eg.
POHEADER and PODETAIL are the two main tables used here, there are several other lookup tables.
Their DataAdapters are:
SqldaPOHEADER
SqldaPODETAIL

I have a DataSet called:
dsPurchaseOrder1

The dataset joins the two tables on 'PO_PONO'

The form is populating beautifully. The bound fields have all the correct values and the details table is populating with the correct details.

An example of the properties of one of the bound textbox fields is:
(Name) txtPoSuppAddr1
(Tag) DsPurchaseOrder1 - POHEADER.PO_PONO
(Text) DsPurchaseOrder1 - POHEADER.PO_SUPP_ADDR1

Now I want to make some changes on the form and update the database.

Here is the code:
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        SqldaPOHEADER.Update(DsPurchaseOrder1)
        SqldaPODETAIL.Update(DsPurchaseOrder1)
        DsPurchaseOrder1.AcceptChanges()
End Sub

Is there more to it than this?
Does VB.Net have this capability or do I have to do some more work to update the database?

Thanks again,
Marnie.
MarnieHookAsked:
Who is Participating?
 
Ramesh SrinivasTechnical ConsultantCommented:
Yes, there is more! You have to create the update command associated with the SqldaPOHEADER adapter and then call the Update() method!

Cmd_Update = New SqlCommand 'create command like u would normally

SqldaPOHEADER.UpdateCommand = Cmd_UpDate 'assign command to adapter

Then you build the command (i.e. give it connection, update query etc), then you call


SqldaPOHEADER.Update(DsPurchaseOrder1)

regards,

KS
0
 
Babycorn-StarfishCommented:
Hi there,

If you dragged your data adapters on using server explorer in Visual Studio it should have created the Select, Update, Delete and Insert commands for you then as saleek mentioned you call the repsective command and the dataset you're affecting.

Good luck

BS
0
 
MarnieHookAuthor Commented:
Hi Guys,
Thanks for the tips... I already had the update statement set etc. but it turns out that I needed to an EndEdit() on the row in the dataset before it recognised that there were any changes and updated the database.
Wierd. I didn't seee this anywhere in online help... luckily a girl in my training course came up with the solution. Not sure how I would have guessed this one!

            dsOLEPurchaseOrder.Tables("POHEADER").Rows(BindingContext(DsPurchaseOrder1).Position).EndEdit()

Thanks again.
Marnie.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.