ERRO EM SELECT COM SUM NO POSTGRESQL
Amigos, boa tarde!
Estou com um problema misterioso na hora de fazer consultas utilizando ADO com Postgre,
Quando por exemplo executo uma consuta contendo sum, por exemplo:
Sql = [Ô]select sum(quantidade) as somar1, sum(preco_custo) as somar2, sum(preco_total) as somar3 from produtos_apurados[Ô]
Set T_Produtos_Apurados = New Recordset
T_Produtos_Apurados.Open Sql, Arquivo, adOpenDynamic, adLockOptimistic
Me é devolvido o seguinte erro:
Erro não especificado nº -2147467259
O engraçado é que se eu persistir na consulta, ou mesmo se entrar no PGAdmin e exeutar a mesma me é retornado os valores corretamente, o que será que pode estar acontecendo, será que alguns dos amigos já passaram por isso?
Quando utilizava a mesma consulta usando o banco Access a mesma nunca me retornou nenhum erro.
Tentei mudar o tipo do cursor para Static, o tipo da trava para adLockBatchOptimistic
Se alguem puder me ajudar, agradeço!
Estou com um problema misterioso na hora de fazer consultas utilizando ADO com Postgre,
Quando por exemplo executo uma consuta contendo sum, por exemplo:
Sql = [Ô]select sum(quantidade) as somar1, sum(preco_custo) as somar2, sum(preco_total) as somar3 from produtos_apurados[Ô]
Set T_Produtos_Apurados = New Recordset
T_Produtos_Apurados.Open Sql, Arquivo, adOpenDynamic, adLockOptimistic
Me é devolvido o seguinte erro:
Erro não especificado nº -2147467259
O engraçado é que se eu persistir na consulta, ou mesmo se entrar no PGAdmin e exeutar a mesma me é retornado os valores corretamente, o que será que pode estar acontecendo, será que alguns dos amigos já passaram por isso?
Quando utilizava a mesma consulta usando o banco Access a mesma nunca me retornou nenhum erro.
Tentei mudar o tipo do cursor para Static, o tipo da trava para adLockBatchOptimistic
Se alguem puder me ajudar, agradeço!
Citação:Set T_Produtos_Apurados = New Recordset
não seria assim:
Set T_Produtos_Apurados = New ADODB.Recordset
Não pois ja declado T_Produtos_Apurados como uma variavel publica RecordSet e não é necessário utilizar o ADODB, mas tentei assim também e me retornou o erro, valeu!
Se essa consulta não tiver valores para retornar, isto é, não tiver registros não dá erro, o recordset retorna sem valores = 0 e os campos somar1, somar2 e somar3 vem como nulos, normal até ai.
Tentei usar um recordset privado também e não deu certo... que coisa isso!
Será um tipo de incompatibilidade do Postgre com conexão ADO?
Detalhe no meu exemplo Arquivo seria a varianel de conexão para o banco de dados, influência de utilizar Access, rs
Se alguem puder me ajudar...
Obrigado
Tentei usar um recordset privado também e não deu certo... que coisa isso!
Será um tipo de incompatibilidade do Postgre com conexão ADO?
Detalhe no meu exemplo Arquivo seria a varianel de conexão para o banco de dados, influência de utilizar Access, rs
Se alguem puder me ajudar...
Obrigado
Se é somente consulta, tire isso: adOpenDynamic, adLockOptimistic
E coloque isso: adOpenKeySet, adLockReadOnly.
Dim T_Produtos_Apurados As New ADODB.Recordset
Sql = [Ô]select sum(quantidade) as somar1, sum(preco_custo) as somar2, sum(preco_total) as somar3 from produtos_apurados[Ô]
T_Produtos_Apurados.Open Sql, Arquivo, adOpenKeySet, adLockReadOnly
E coloque isso: adOpenKeySet, adLockReadOnly.
Dim T_Produtos_Apurados As New ADODB.Recordset
Sql = [Ô]select sum(quantidade) as somar1, sum(preco_custo) as somar2, sum(preco_total) as somar3 from produtos_apurados[Ô]
T_Produtos_Apurados.Open Sql, Arquivo, adOpenKeySet, adLockReadOnly
Se não estou enganado, não é possÃvel atribuir cursores de edição e travas em recordset que possuem consultas de agregação. Faça a consulta sem cursores definidos e veja se retorna alguma coisa.
Amigos propositamente deixei este tópico em aberto para ter certeza de como resolvi o problema, segue ai então a dica da resolução:
Estava utilizando o driver ODBC versão 9.00.0200 até entao, resolvi tentar com um novo driver lançado recentemente: 9.00.0300 e matou a charada, o problema estava no driver.
Está no link abaixo:
http://www.postgresql.org/ftp/odbc/versions/msi/
Agradeço a todos que me ajudaram!
Estava utilizando o driver ODBC versão 9.00.0200 até entao, resolvi tentar com um novo driver lançado recentemente: 9.00.0300 e matou a charada, o problema estava no driver.
Está no link abaixo:
http://www.postgresql.org/ftp/odbc/versions/msi/
Agradeço a todos que me ajudaram!
Tópico encerrado , respostas não são mais permitidas