2013-08-07 6 views
0

У меня есть основная база данных. Я извлекаю некоторые данные в DataTable, а затем вам необходимо обновить частную базу данных, чтобы эти данные избегали удвоения. Когда я использую команду «Обновить», удвоение данных в частной базе данных, в случае Fill ничего не происходит вообще.Извлечь данные из одной таблицы в другую.

Вот код:

Dim Table As New DataTable 
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Main.mdb;Jet OLEDB:Database Password=123") 
cmd = New OleDb.OleDbCommand With {.Connection = cn} 
cn.Open() 
cmd.CommandText = "SELECT * FROM Catalogue" 
DA = New OleDbDataAdapter(cmd) 
DA.AcceptChangesDuringFill = False 
DA.Fill(Table) 
DA.Dispose() 
cn.Close() 
'-------------- 
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=private.mdb;Jet OLEDB:Database Password=123" 
cmd = New OleDb.OleDbCommand With {.Connection = cn} 
cn.Open() 
cmd.CommandText = "SELECT * FROM Catalogue" 
DA = New OleDbDataAdapter(cmd) 
MyBuilder = New OleDbCommandBuilder(DA) 
DA.Fill(Table) 'ADD NO DATA 
DA.Update(Table) 'DOUBLING DATA 
DA.Dispose() 
cn.Close() 

Как вы понимаете, когда я говорю об удвоении данных, это означает, что я уже некоторые данные в собственной базе данных, и они могут быть такими же, как данные в основной базе данных.

Проблема визуализации:

начинающуюся

Main database, table 1 data 
1 
2 
3 

Private database, table 1 data 
1 
2 

Ending

What I need: 
Private database, table 1 data 
1 
2 
3 

What I get: 
Private database, table 1 data 
1 
2 
1 
2 
3 
+0

Почему бы не создать резервную копию 'main' db, а затем восстановить другую? – OneFineDay

+0

Если я правильно понимаю, вы просто хотите сохранить дубликаты из базы данных? Какую базу данных вы используете? Доступ? В каком году? –

ответ

0

Sad здесь нет никакого уведомления ответов. Я решил эту проблему по рекомендации другого форума. Его нужно читать из основной базы данных, затем с клиента и в конце сливать. Затем дублированные записи будут удалены.

Смежные вопросы