Jump to content
hmoreira

Sincronizar dados entre duas base de dados C#+MySQL

Recommended Posts

hmoreira

Caros,

Precisava de ajuda para o seguinte.

Neste momento tenho um programa que utiliza uma base de dados em access, e tenho um site que tem uma base de dados MySQL. Já consigo fazer com que os dados sejam gravados de uma para outra tabela.

o problema é quando faço algum update num campo da base de dados access, depois não posso "inserir" no MySQL, pois ele indica que é um id "duplicado".

Neste momento utilizo o seguinte código para inserir dados no MySQL vindos do access.

OleDbDataAdapter daTabelaCheia = new OleDbDataAdapter(strTabelaCheia, conexao);
                daTabelaVazia = new MySqlDataAdapter(strTabelaVazia, conexao2);


                MySqlCommandBuilder cbTabelaVazia = new MySqlCommandBuilder(daTabelaVazia);


                daTabelaCheia.Fill(dtreparacoes);
                daTabelaVazia.Fill(dtteste);

                for (int i = 0; i < dtreparacoes.Rows.Count; i++)
                {
                    DataRow dr = dtteste.NewRow();
                   
                       for (int j = 0; j < dtreparacoes.Rows[i].ItemArray.Length; j++)
                    {
                        dr[j] = dtreparacoes.Rows[i].ItemArray.GetValue(j);
                    }
                    
                    dtteste.Rows.Add(dr);
                }
            

                daTabelaVazia.Update(dtteste);

Podem ajudar-me?

Obrigado

HM

Share this post


Link to post
Share on other sites
Caça

Antes de inserir o registo, faz uma verificação para ver se já existe.

Se não existir, inseres, se existir, actualizas.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Caça

Antes de adicionar o registo ao teu dtteste, podes percorrer ou fazer uma consulta Linq ao teu dtteste, ou se preferires faz mesmo uma consulta à Base de Dados para verificar se o ID que vais inserir já lá mora.

Se existir, adicionas o registo, se não existir, não adicionas.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
hmoreira

De facto eu já percebi a lógica, mas não faço a minima ideia de como será o código... Pois aquilo terá de fazer um update quando o id já existe  :)

Cumprimentos,

HM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.