Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Filipe Poiato

Too few parameters. Expected 10

Recommended Posts

Bom dia Galera,

Sei que esse erro é muito comum e que os primeiros posts vem mandando eu confirmar se os campos existem e se estou recebendo os dados necessários da página anterior. A resposta é sim, os nomes estão corretos e as variáveis estão chegando direito. O mais estranho de tudo é que se eu tenho uma quantidade pequena de registros no banco, a por#@ do Recordset funciona, na minha base de testes onde tenho uns 5 ou 6 registros não da erro, mas na minha base de produção, que tem sei lá quantos registros, aparece esse erro maldito.

Segue abaixo eu rs para vocês avaliarem.

Obrigado.

 

set rdAgenda	= Conexao.Execute ("SELECT dia,grupo,SUM(agendadas_int) AS [agendadas_um],SUM(agendadas_ext) AS [agendadas_dois],SUM(faltas_int) AS [faltas_um],SUM(faltas_ext) AS [faltas_dois],SUM(canceladas_int) AS [canceladas_um],SUM(canceladas_ext) AS [canceladas_dois],SUM(encaixes_int) AS [encaixes_um],SUM(encaixes_ext) AS [encaixes_dois],SUM(realizadas_int) AS [realizadas_um],SUM(realizadas_ext) AS [realizadas_dois] FROM estatistica WHERE mes="&varmesid&" AND grupo=1 AND ano="&varano&" GROUP BY dia,grupo ORDER BY dia asc")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Filipe Poiato,

 

Não quero parecer chato, mas sendo chato, seria aconselhável jogar o conteúdo do seu sql para um variável. Não que dizer que isto resolverá seu problema mas é um boa prática.

 

E por favor de resonse.write nesta variável e poste o resultado. Não é que não acredito que os valores não estão sendo passado mas o response.write vai ficar mais claro sua expressão.

 

Alguns questionamentos para facilitar a ajuda:

Com você esta acessando esta base em produção?

ODBC?

Fica em um provedor?

Já verificou as versões dos drives ODBC que você esta usando na base de teste e na base de produção.

 

 

Em http://wiki.locaweb.com.br/pt-br/Erros_comuns_em_ASP#.5BMicrosoft.5D.5BODBC_Microsoft_Access_Driver.5D_Too_few_parameters._Expected_1._.2Fdefault.asp.2C_line_10

 

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /default.asp, line 10

Este erro ocorre quando há um excesso de parâmetros informados em uma instrução à base de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jothas,

Mano, eu que comi bola, meu banco que esta em produção esta faltando um campo, pois foi acrescentado nessa tabela recentemente e vai entrar em produção junto com o relatório onde fica este recordset.

Mas gostei da idéia da variável, você poderia me explicar melhor?

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma boa prática sempre criar variáveis para suas expressões. Além de faclitar a leitura quando for debugar é só executar um response.write no contéudo. Assim sempre terá certeza do que esta sendo passado.

 

Faz assim:

<%
dim sSql

sSql = "SELECT dia,grupo,SUM(agendadas_int) AS [agendadas_um],SUM(agendadas_ext) AS [agendadas_dois],SUM(faltas_int) AS [faltas_um],SUM(faltas_ext) AS [faltas_dois],SUM(canceladas_int) AS [canceladas_um],SUM(canceladas_ext) AS [canceladas_dois],SUM(encaixes_int) AS [encaixes_um],SUM(encaixes_ext) AS [encaixes_dois],SUM(realizadas_int) AS [realizadas_um],SUM(realizadas_ext) AS [realizadas_dois] FROM estatistica WHERE mes="&varmesid&" AND grupo=1 AND ano="&varano&" GROUP BY dia,grupo ORDER BY dia asc"

set rdAgenda	= Conexao.Execute (sSql)

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.