Comparando contéudos em dois bancos de dados diferentes

18/12/2014

0

Bom dia, tenho uma aplicação que roda com o seguinte banco PostGres porém preciso fazer um filtro em um banco Access porém não quer da certo, acho que o problema está na conexão, alguém poderia me da um help.

Conexão tá da seguinte forma:

public Conexao_DAO()
{
_stringConexao = @"Dsn=PostgreSQL30;uid=postgres";
cn_conexao_post = new OdbcConnection(_stringConexao);
cn_conexao_post.Open();
}

public Conexao_DAO(bool access = false)
{
try
{
cn_conexao_access = new OleDbConnection();
cn_conexao_access.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Cont2015.mdb";
cn_conexao_access.Open();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Chayene Carmo

Chayene Carmo

Responder

Posts

18/12/2014

Soeuseijothaz

Da uma olhada no link e veja se consegue avançar:

[url:descricao=http://www.dcc.fc.up.pt/~pbrandao/aulas/0203/bd/access.htm]http://www.dcc.fc.up.pt/~pbrandao/aulas/0203/bd/access.htm[/url]
Responder

18/12/2014

Chayene Carmo

Pior que não deu certo, estou usando o OleDB
Responder

26/12/2014

Joel Rodrigues

Poderia ser mais clara sobre o problema? Tem alguma mensagem de erro para auxiliar?
Responder

08/01/2015

Chayene Carmo

Bom dia Joel, então achei que era conexão mas não o problema está no parâmetro, quando uso a mesma instrução no Access ele me retorna resultado na minha aplicação não.
Responder

08/01/2015

Joel Rodrigues

É, já vi bem esse erro. Lá vamos nós outra vez...
Coloca aqui o método onde você faz o filtro com parâmetro que não está dando certo.
Por favor, use as tags de formatação de código disponíveis no fórum.
Responder

09/01/2015

Chayene Carmo

public ArrayList ListarEmpenho(int id_centro_custo)
{
ArrayList listarEmpenhos = new ArrayList();
Nota_Empenho_BO neBO;

using (_minhaConexao = new Conexao_DAO(true))
{
string select = "Select NotaEmpenho.AnoNota, NotaEmpenho.IdNota, NotaEmpenho.IdTipoEmpenho, NotaEmpenho.TotalNota, NotaEmpenho.ValorLiquidado, NotaEmpenho.ValorPago, NotaEmpenho.ValorAnulado, NotaEmpenho.CGC, NotaEmpenho.Tradutora, PlanoConta.IdProjetoOuATividade from NotaEmpenho inner join PlanoConta on NotaEmpenho.Tradutora = PlanoConta.IdTradutora "; /* where (PlanoConta.IdProjetoOuAtividade ='" + id_centro_custo + "') */

OleDbDataReader reader = _minhaConexao.ExecutaLeitura_Access(select);
while (reader.Read())
{
if (reader[9].ToString() != id_centro_custo.ToString())
{
neBO = new Nota_Empenho_BO();
neBO.Ano_Nota = Convert.ToInt32(reader[0]);
neBO.Id_Nota = Convert.ToInt32(reader[1]);
if (Convert.ToInt16(reader[2]) == 00)
{
neBO.Tipo_Empenho = Tipo_Empenho.N_existe;
}
else if (Convert.ToInt16(reader[2]) == 01)
{
neBO.Tipo_Empenho = Tipo_Empenho.Ordinaria;
}
else if (Convert.ToInt16(reader[2]) == 02) if (reader[9].ToString() == id_centro_custo.ToString())
{
neBO.Tipo_Empenho = Tipo_Empenho.Estimativa;
}
else
{
neBO.Tipo_Empenho = Tipo_Empenho.Global;
}
neBO.Total_Nota = Convert.ToDecimal(reader[3]);
neBO.ValorLiquidado = Convert.ToDecimal(reader[4]);
neBO.ValorPago = Convert.ToDecimal(reader[5]);
neBO.ValorAnulado = Convert.ToDecimal(reader[6]);
neBO.CGC = Convert.ToString(reader[7]);
neBO.Tradutora = Convert.ToString(reader[8]);

listarEmpenhos.Add(neBO);
}
}
reader.Dispose();
return listarEmpenhos;
}
}
Responder

09/01/2015

Joel Rodrigues

Primeira tentativa. Faça essa consulta usando parâmetros no OleDbCommand, ao invés de concatenar a string.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar