Determine if a new row is needed in a DataSet/DataTable
Posted on 2004-10-18
OK. I'm still trying to get my arms around many of the ADO.NET concepts.
Here's what I have in mind.
I have 2 tables -
1. Two fields
a. DispID - Integer - Identity field - Primary Key
b. DispNo - Char(12) - Unique
2. Two fields
a. DispID - Integer - Foreign Key pointing to above table. Unique
b. PoNo - Char(7) - Primary Key.
The data in table 1 is generally pre-loaded.
I want to develop a data-entry form to enter info into table 2. At any point in time there may or may not be an entry in table two corresponding with table 1's DispID. If it IS present then I want the user be able to EDIT this data. If not, then a new record should be added.
Now, I get the whole process of filling the dataset appropriately, etc, it's the editing portion I'm having difficulty with.
So, the form will have two controls. A ComboBox bound as follows to the appropriate dataset:
DataSource = Table1
DisplayMember = DispNo field in Table1
ValueMember = DispID field in Table1
SelectedValue = DispID field in Table2
A text box bound to the PoNo field in Table2.
When the user selects a DispNo from the ComboBox (i.e. SelectedIndexChanged event fires) then the logic should check if this record exists in Table2, if it does then go to that row in the datatable and allow the user to edit. If it doesn't exist, then it should add a new row allowing the user to enter the corresponding PoNo.
I'm trying to get my arms around the logic to do this last part, specifically checking for the row in table two and determining if there is one. If there is, go to that row to allow an edit. If not, then create a new one.
Am I making this more complicated than it really is?
Any help would be greatly appreciated.
Thanks in advance,