TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
matthias.lietz
NA
3
0
update a database, using merge and getChanges
Oct 8 2004 5:47 AM
Hallo, I need some help. I want/ need to write a little program to update an database. Structure update and data update. I want to use VB.NET (and Ado.NET). There are two databases - a source and a target. At the end, they should have the same structure and content. I want to try it first with one table, which exists and has the same name in both databases. (Connection, provider - this works... - so I don’t have it in the code example... ) I have two datasets, fill it, and think the best way is to use the "merge-method" and then I proof "HasChanges". If there are Changes on the Database, I want to use the "getChanges"-method. But this doesn’t work. What ever I try, after the " If myDS1.HasChanges()" question the program always jumps to "endif". I tried different variant’s (for instance: "myDS1.Merge(myDS2, False, MissingSchemaAction.Add)"), but always the same result. Think I have a problem in my logic. If somebody could give me an advice/ help or tell me where my mistake is ... . thanks Here is one version of what I tried: Imports System.Data Imports System.Data.OleDb Module Module1 Sub Main() Dim myDS1 As New DataSet() Dim myTable1 As New DataTable("TPPerson") ‘ here I’m not sure myDS1.Tables.Add(myTable1) Dim strSQL1 = "Select * from TPPerson" adp1 = New OleDbDataAdapter(strSQL1, cnn1) adp1.Fill(myDS1, "TPPerson") Dim myDS2 As New DataSet() Dim myTable2 As New DataTable("TPPerson") myDS2.Tables.Add(myTable2) Dim strSQL2 = "Select * from TPPerson" adp2 = New OleDbDataAdapter(strSQL2, cnn2) adp2.Fill(myDS2, "TPPerson") myDS1.Merge(myTable2, False, MissingSchemaAction.Add) ‘ here could be a mistake myDS1.AcceptChanges() If myDS1.HasChanges() _ Then Dim myDS3 As New DataSet() myDS3 = myDS1.GetChanges(DataRowState.Modified) myDS1.Merge(myDS3, False, System.Data.MissingSchemaAction.Add) adp1.Update(myDS1, "TPPerson") End If
Reply
Answers (
1
)
Easy Question
Datagrid selection