Ir para conteúdo

POWERED BY:

Arquivado

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

Dias Sanches

[Resolvido] Problemas com upload

Recommended Posts

diassanches

 

precisamos colocar algumas coisas as claras aqui

 

este codigo

 

response.write(SQL)
response.end()

Não resolve seu problema, ele apenas teria que mostrar a sua sql para vermos o erro e depois será retirado

 

mas você não está fazendo corretamente ao que parece

 

qual o erro atual? se não tiver nenhum retire estas linhas de codigo e post o erro que aparecer

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é uma pseudo-depuracaun...

apenas para ver os dados de sua string SQL...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando apaguei aquela linha apareceu:

 

Erro de tempo de execução do Microsoft VBScript erro '800a01b6'

 

O objeto não dá suporte para a propriedade ou método

 

/athelier/postar.asp, line 106

 

 

A linha 106 é:

 

SQL="INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/mini/"& File1 & "' , 'produtos/pq/"& File2 &"' ,'produtos/gr/"& File3 &"' , 'produtos/pq/"& File4 &"' , 'produtos/gr/"& File5 &"' ,'produtos/pq/"& File6 &"' , 'produtos/gr/"& File7 &"')"
        rs.open SQL,conexao,1,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta faltando algum complemento na linha

 

rs.open SQL,conexao,1,3

Para desencargo de concienciencia fiz um teste removi o item "produto/gr" da linha de codigo apareceu o seguinte mensagem

 

Erro de tempo de execução do Microsoft VBScript erro '800a01a8'

 

Objeto necessário: 'rs'

 

/athelier/postar.asp, line 107

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precias setar o 'rs' como objeto recordset

 

Set rs= Server.Createobject("ADODB.Recodrset")

 

e de pois usar o rs.open SQL,conexao,1,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente estava faltando o o camando, mas não tive exito esta aparecendo o seguinte:

 

Tetei tb em outra maquina para ver se não era a minha que estava viciada no erro, mas mesmo assim permanece

 

 

Erro de tempo de execução do Microsoft VBScript erro '800a01b6'

 

O objeto não dá suporte para a propriedade ou método

 

/athelier/postar.asp, line 110

 

 

vou postar novamente o codigo para você poder ver comigo.

 

<%

  ' Build ODBC connection string
SET Conexao = Server.CreateObject("AdoDB.Connection")
Conexao.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\web\localuser\atheliergeppetto\www\dados\dados.mdb"

SET UPLOAD = Server.CreateObject("Persits.Upload")

Upload.SetMaxSize 500000, True

' Save to memory. Path parameter is omitted
Count = Upload.Save

' Two files must be selected
If Count <> 7 Then
   Response.Write "You must select 7 files."
   Response.End
End If

' Create two folders, ignore "already exists" error
Upload.OverwriteFiles = False
Upload.CreateDirectory "D:\web\localuser\atheliergeppetto\www\athelier\produtos\mini\", True
Upload.CreateDirectory "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\", True
Upload.CreateDirectory "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\", True

' Obtain File objects
For Each File in Upload.Files
Set File1 = Upload.Files("FILE1")
Set File2 = Upload.Files("FILE2")
Set File3 = Upload.Files("FILE3")
Set File4 = Upload.Files("FILE4")
Set File5 = Upload.Files("FILE5")
Set File6 = Upload.Files("FILE6")
Set File7 = Upload.Files("FILE7")
Next
' Build name from session ID
Name = Session.SessionID

' Save
File1.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\mini\" & Name & File1.Ext
'Response.Write "File 1 is saved under " & File1.Path & "<BR>"

File2.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\" & Name & File2.Ext
'Response.Write "File 1 is saved under " & File2.Path & "<BR>"

File3.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\" & Name & File3.Ext
'Response.Write "File 1 is saved under " & File3.Path & "<BR>"

File4.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\" & Name & File4.Ext
'Response.Write "File 1 is saved under " & File4.Path & "<BR>"

File5.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\" & Name & File5.Ext
'Response.Write "File 1 is saved under " & File5.Path & "<BR>"

File6.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\" & Name & File6.Ext
'Response.Write "File 1 is saved under " & File6.Path & "<BR>"

File7.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\" & Name & File7.Ext
'Response.Write "File 1 is saved under " & File7.Path & "<BR>"



' Recuperando os Dados Digitados ----------------------
gep = Upload.Form("Categoria")
Produto = Upload.Form("Produto")
Codigo = Upload.Form("Codigo")
Valor = Upload.Form("Valor")
Minidescricao = Upload.Form("Descricao")




  ' Build SQL INSERT statement
        'crio o SQL   
		SET RS = Server.CreateObject("AdoDB.RecordSet")    
	   SQL="INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/mini/"& File1 & "' , 'produtos/pq/"& File2 &"' ,'produtos/gr/"& File3 &"' , 'produtos/pq/"& File4 &"' , 'produtos/gr/"& File5 &"' ,'produtos/pq/"& File6 &"' , 'produtos/gr/"& File7 &"')"
        rs.open SQL,conexao,1,3

SET RS = Nothing

For Each File in Upload.Files
If File.ImageType = "UNKNOWN" Then
response.write "não é uma imagem valida"
End If
Next
' Mostra Mensagem de Confirmação na Tela
Response.write "Parabéns, a notícia foi inserida com sucesso com sucesso!"

' Redireciona após 5 segundos
response.write "<br><br>você será redirecionado em 5 segundos..<br>"
response.write "<meta http-equiv='refresh' content='2; url=admin.asp'/>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo, talvez fike mais facil de entender

 

Option explicit
   'declaro as var
   dim varlogin, varemail, varsenha, conexao, conDBQ, constring, rsselect, SQLselect, rsinsert, SQLinsert
   'recupero todos os dados
   varlogin=trim(request.form("login"))
   varsenha=trim(request.form("senha"))
   varemail=trim(request.form("email"))
   'crio a conexao
   %>
   <!--#include file="conn/conexao1.asp"-->
   <% 'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rsselect=server.createobject("ADODB.Recordset")
   'crio o SQLselect
   SQLselect="SELECT login FROM login WHERE login='"&varlogin&"'"
   rsselect.open SQLselect,conexao,1,3
   if not rsselect.eof then
   		response.redirect("incluir_form_treina.asp?msgeof=1")
		set rsselect=nothing
   else	
   		'crio o rsinsert para inseiri os dados no bd
   		 set rsinsert=server.createobject("ADODB.Recordset")
		'crio o SQLinsert pra incluir no bd
		SQLinsert="INSERT INTO login(login,senha,email) values('"&varlogin&"','"&varsenha&"','"&varemail&"')"
		rsinsert.open SQLinsert,conexao,1,3
		response.redirect("administracao_treina.asp?msg=1")
		set rsinsert=nothing
	end if 
	call fechaconexao %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voltei,

 

Resolvi voltar ao projeto inicial não o sem componente, porque o servidor em que hospedo não aceita, é o segundo, só preciso que você me esclareçam por favor aquele item.

 

Ele funciona mais pega o nome da última imagem e duplica no bd, por causa disso vocês me disseram

 

faça um FOR para incluir multiplos registros

 

Eu procurei...

Fiz várias buscas no forúm por:

 

incluir multiplos registros

multiplos registros

upload com multiplos registros

upload no bd

aspupload

form upload bd

....

 

Mas não encontrei

 

Favor vocês poderiam me ajudar neste... não sei mais o que fazer

 

<%

'objRSr("Email") = Upload.Form("Email")

SET Conexao = Server.CreateObject("AdoDB.Connection")
Conexao.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\web\localuser\atheliergeppetto\www\dados\dados.mdb"


SET UPLOAD = Server.CreateObject("Persits.Upload")

Upload.OverwriteFiles = False
Upload.Save "D:\web\localuser\atheliergeppetto\www\athelier\produtos\"


For Each File in Upload.Files
foto = File.fileName
foto1p = File.FileName
foto1g = File.FileName
foto2p = File.FileName
foto2g = File.FileName
foto3p = File.FileName
foto3g = File.FileName
Next

' Recuperando os Dados Digitados ----------------------
gep = Upload.Form("Categoria")
Produto = Upload.Form("Produto")
Codigo = Upload.Form("Codigo")
Valor = Upload.Form("Valor")
Minidescricao = Upload.Form("Descricao")



SET RS = Server.CreateObject("AdoDB.RecordSet")
Conexao.Execute("INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/"& foto & "' , 'produtos/"& foto1p &"' , 'produtos/"& foto1g &"' , 'produtos/"& foto2p &"' , 'produtos/"& foto2g &"' , 'produtos/"& foto3p &"' , 'produtos/"& foto3g &"')")
SET RS = Nothing

For Each File in Upload.Files
If File.ImageType = "UNKNOWN" Then
response.write "não é uma imagem valida"
End If
Next

' Mostra Mensagem de Confirmação na Tela
Response.write "Parabéns, a notícia foi inserida com sucesso com sucesso!"

' Redireciona após 5 segundos
response.write "<br><br>você será redirecionado em 5 segundos..<br>"
response.write "<meta http-equiv='refresh' content='2; url=admin.asp'/>"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido o problema,

 

Era muito simples resolver.... desculpe por amolar tanto vocês....

 

Para quem quiser ou que estava com a mesma dificultadade que eu abaixo esta o código completo.

 

Abs a todos

 

 

<%


SET Conexao = Server.CreateObject("AdoDB.Connection")
Conexao.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\web\localuser\login\www\dados\dados.mdb"


SET UPLOAD = Server.CreateObject("Persits.Upload")

Upload.OverwriteFiles = False
Upload.Save "D:\web\localuser\login\www\athelier\produtos\"


For Each File in Upload.Files
foto = File.fileName
foto1p = File.FileName
foto1g = File.FileName
foto2p = File.FileName
foto2g = File.FileName
foto3p = File.FileName
foto3g = File.FileName
Next



' Recuperando os Dados Digitados ----------------------
gep = Upload.Form("Categoria")
Produto = Upload.Form("Produto")
Codigo = Upload.Form("Codigo")
Valor = Upload.Form("Valor")
Minidescricao = Upload.Form("Descricao")
foto = Upload.Files("file1").FileName 
foto1p = Upload.Files("file2").FileName
foto1g = Upload.Files("file3").FileName
foto2p = Upload.Files("file4").FileName
foto2g = Upload.Files("file5").FileName
foto3p = Upload.Files("file6").FileName
foto3g = Upload.Files("file7").FileName



SET RS = Server.CreateObject("AdoDB.RecordSet")
Conexao.Execute("INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/"& foto & "' , 'produtos/"& foto1p &"' , 'produtos/"& foto1g &"' , 'produtos/"& foto2p &"' , 'produtos/"& foto2g &"' , 'produtos/"& foto3p &"' , 'produtos/"& foto3g &"')")
SET RS = Nothing

For Each File in Upload.Files
If File.ImageType = "UNKNOWN" Then
response.write "não é uma imagem valida"
End If
Next

' Mostra Mensagem de Confirmação na Tela
Response.write "Parabéns, a notícia foi inserida com sucesso com sucesso!"

' Redireciona após 5 segundos
response.write "<br><br>você será redirecionado em 5 segundos..<br>"
response.write "<meta http-equiv='refresh' content='2; url=admin.asp'/>"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

maravilha, parabens..

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.