Solved

Binding Textboxes. Will they update the database?

Posted on 2004-08-19
3
157 Views
Last Modified: 2010-04-23
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.
0
Comment
Question by:MarnieHook
3 Comments
 
LVL 11

Accepted Solution

by:
saleek earned 50 total points
ID: 11839752
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
 
LVL 11

Expert Comment

by:Babycorn-Starfish
ID: 11839781
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
 

Author Comment

by:MarnieHook
ID: 11889684
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

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now