Controls bound to a DataView: Problems inserting new line/record (Question 2)
Posted on 2006-03-27
I have a form in my VB.net application (built using Visual Studio 2003) that has a listbox control (its DataSource set to MyDataView and it’s DisplayMember set to a MyDataView column). Several textfields also exist and all bound to the same MyDataView.
How do I successfully insert a new record (datarow) into the DataView with the data from the respective textboxs and then list the respective column in the ListBox with the rest, ready to update the datasource (SQL 2000 table) when the adapter’s update method is called. The adapter, dataset, SQLConnection and dataView were generated using VS 2003 wizards. I can’t get it to do the insert.
Using the following code, it just updates (over writes an existing datarow), and not insert (total number of rows +1). If I hard code the update, the record gets added twice then throws a constraint exception (duplication of the PK). If I just call the update method when the save button is clicked, nothing happens or things start to go horribly wrong. The other select, delete, updates methods all work ok.
This is how I am currently trying to do it:
'User fills out form
If my listbox originally contained 5 items, this code just overwrites one of the existing ones and so still contains 5 when it should be 6.