Usuário com melhor resposta
UploadRequest.Item vazio!

Pergunta
-
Olá pessoal,
Eu tenho um combo em uma página, onde a pessoa vai preenchendo e vai complementando o próximo combo, mas se a pessoa não selecionar todos os combos ao inserir o arquivo no banco com esses combos pela metade da o seguinte erro:
Objeto necessário: 'UploadRequest.Item(...)'
/afeirita/painel/produtos/inserir_produto.asp, line 24
Linha: subcategoria3 = UploadRequest.Item("subcategoria3").Item("Value")
Como faço para que os combos que estiverem vazios não interfira na minha página que irá gerar o insert?
Já use On Error Resume Next mas com ele acho que não deixa os outros dados inserirem no banco corretamente... Avisa que inseriu mas está vazio...Alguém tem alguma dica para isso?
obrigado!
Marcelo
Respostas
Todas as Respostas
-
Marcelo, tente fazer uma verificação antes da atribuiçãoif not isNull(UploadRequest.Item("subcategoria3").Item("Value")) thensubcategoria3 = UploadRequest.Item("subcategoria3").Item("Value")end ifFaça um teste e veja se funciona.AbraçoEstevam
-
Continua com erro
Objeto necessário: 'UploadRequest.Item(...)'
/afeirita/painel/produtos/inserir_produto.asp, line 23linha 23: if not isNull(UploadRequest.Item("subcategoria3").Item("Value")) then
subcategoria3 = UploadRequest.Item("subcategoria3").Item("Value")
end ifO que acontece é o seguinte, quando o UploadRequest.Item é criado e não existe algum campo la no formulário que corresponda com o UploadRequest.Item então ele da esse erro.
Se vc cria ola=UploadRequest.Item("ola").Item("Value") e não existe esse campo Ola no form, ele da esse erro.
No meu caso eu estou com um combox dinâmico que pode gerar até 5 combox... Mas tem informações do banco que gera até 2 ou 3 combox deixando os outros combos: 4 e 5 fora do formulario ou tipo inexistente, então esses 4 e 5 da erro la no ("subcategoria4 ou 5").Item("Value")) , entende?
-
-
Essa é onde recupero os dados e da o erro:
Code Snippet<!-- #include file = "upload_funcoes.asp" -->
<!--#include file="nivel.asp"--><%
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
' Recuperando os Dados Digitados ----------------------
destaque = UploadRequest.Item("destaque").Item("Value")
descricao = UploadRequest.Item("descricao").Item("Value")
categoria = UploadRequest.Item("categoria").Item("Value")subcategoria = UploadRequest.Item("subcategoria").Item("Value")
subcategoria1 = UploadRequest.Item("subcategoria1").Item("Value")
subcategoria2 = UploadRequest.Item("subcategoria2").Item("Value")
if not isNull(UploadRequest.Item("subcategoria3").Item("Value")) then
subcategoria3 = UploadRequest.Item("subcategoria3").Item("Value")
end if
subcategoria4 = UploadRequest.Item("subcategoria4").Item("Value")' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")' pasta onde as imagens serao guardadas
'pasta = Server.MapPath("afeirita/produtos/")
pasta = "c:/afeirita/produtos/"
'pasta = "c:\domains\afeirita.com.br\wwwroot\produtos"
'nome_foto = ""&nome_foto
nome_foto = "/"&nome_foto' pasta + nome dos arquivos
cfoto = "produtos" + nome_foto
' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close
end if -
Tive tentando usar algo com:
On Error Resume Next
Err.Clear
On Error Resume Next
If Err.Number <> 0 Then
On Error GoTo 0Algo assim, pois ai os erros que são esses campos inexistente do form que vem para essa pagina Upload e da erro poderia ser tratado sem generalizar tudo e assim não ficar falando que rodou normal mas o banco continua vazio...
-
-