Comparando contéudos em dois bancos de dados diferentes
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);
}
}
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
Curtidas 0
Respostas
Soeuseijothaz
18/12/2014
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]
[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]
GOSTEI 0
Chayene Carmo
18/12/2014
Pior que não deu certo, estou usando o OleDB
GOSTEI 0
Joel Rodrigues
18/12/2014
Poderia ser mais clara sobre o problema? Tem alguma mensagem de erro para auxiliar?
GOSTEI 0
Chayene Carmo
18/12/2014
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.
GOSTEI 0
Joel Rodrigues
18/12/2014
É, 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.
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.
GOSTEI 0
Chayene Carmo
18/12/2014
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; } }
GOSTEI 0
Joel Rodrigues
18/12/2014
Primeira tentativa. Faça essa consulta usando parâmetros no OleDbCommand, ao invés de concatenar a string.
GOSTEI 0