Ir para conteúdo

Arquivado

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

FabianoSouza

Command não aceita parâmetro criado com texto

Recommended Posts

Por que isso funciona

cmd1.Parameters.Append cmd1.CreateParameter("@codigoMunicipio", 3, 1, 16, codMunicipio)

Mas isso não funciona?

cmd1.Parameters.Append cmd1.CreateParameter("@codigoMunicipio", adInteger, adParamInput, 16, codMunicipio)

O erro é

ADODB.Command erro '800a0bb9'

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que deseja realmente fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas chamar uma SP que faz um insert no banco de dados.

 

Minha dúvida é que quando chamo o command com os parâmetros definidos com nome ocorre erro.

Se forem definidos com números, funciona.

 

Veja na íntegra o command. Isso funciona corretamente. Mas se eu substituir os parâmetros (tipo de dados, direção (se é input, output e etc) pelo nome como adInteger, adChar ... não funciona.

Preciso entender a razão do erro porque não dá pra decorar o significado de tudo. Pelo nome do parâmetro fica mais amigável.

Dim cmd1
Dim Recordset1
set cmd1 = Server.CreateObject("ADODB.Command")
cmd1.ActiveConnection = nome_da_conexao
cmd1.CommandText = "dbo.nome_da_SP"
cmd1.Parameters.Append cmd1.CreateParameter("@RETURN_VALUE", 3, 4)
cmd1.Parameters.Append cmd1.CreateParameter("@codCliente", 3, 1,16, codConta)
cmd1.Parameters.Append cmd1.CreateParameter("@estado", 200, 1,50, estado)
cmd1.Parameters.Append cmd1.CreateParameter("@municipio", 200, 1,80, municipio)
cmd1.Parameters.Append cmd1.CreateParameter("@codigoMunicipio", 3, 1,16, codMunicipio)
cmd1.Parameters.Append cmd1.CreateParameter("@codigoCategoria", 3, 1,16, codCategoria)
cmd1.Parameters.Append cmd1.CreateParameter("@codigoUsuario", 3, 1,16, codAutor)
cmd1.Parameters.Append cmd1.CreateParameter("@ip", 129, 1, 32, varIp)
cmd1.CommandType = 4
cmd1.CommandTimeout = 0
cmd1.Prepared = true
set Recordset1 = cmd1.Execute

Compartilhar este post


Link para o post
Compartilhar em outros sites

no bd os tipos de dados estão corretos ?

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.