Ir para conteúdo

Arquivado

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

DackAle

s e Erros

Recommended Posts

E ae galera beleza ?Seguinte to com um probleminha aqui, quando eu faço um upload, é sussa, consigo fazer, pegar o nome e mandar paa o banco de dados, mas com dois ou mais nao consigo, precisava fazer o upload de varios arquivos e depois pegar o nome de todos e jogar no banco de dados, tentei isso:

<!--#include file="includes/config.asp"--><!--#include file="includes/verificacao.asp"--><%Set Upload = Server.CreateObject("Persits.Upload")Upload.OverwriteFiles = FalseUpload.Save Local_ArquivosFor Each File in Upload.FilesFile.FileNameNext arquivos = upload.files("file").filenameSQL="Insert INTO arquivos " &_"(arquivos) " &_"VALUES ('" & arquivos & "')"RS.Open SQL,ConexaoSET RS = NOTHING%>
Mas me retorna o erro

Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'File.Name' /daryus.com.br_non_ssl/teste/add_arquivos01.asp, line 11

Alem disso, mesmo que desse certo, ele não estaia salvando o nome dos arquivos, como faço para pegar os nomes separados pra jogar no banco de dados ?Segundo, nunca tive esse erro, mas no meu sistema de login, quando o usuario não é correto, ele gera erro ao inves de redirecionar para a pagina.

ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /daryus.com.br_non_ssl/teste/logar.asp, line 7

Ele não encontra o registro, até ai beleza, mas era pra ele redirecionar para a pagina e não mostrar erro...
<!--#include file="includes/config.asp"--><%usuario = Trim(Replace(request.Form("usuario"),"'","''"))senha = Trim(Replace(request.form("senha"),"'","''"))SQL="SELECT * FROM admin WHERE usuario = '" & usuario & "' AND senha= '" & senha & "'"RS.Open SQL,Conexao,1,1session("nivel") = RS("nivel")session("usuario") = RS("usuario")if RS.EOF ThenSession("logado") = falseresponse.write "<script>"response.write "window.location='admin_erro.asp'"response.write "</script>"ElseSession("logado") = trueresponse.write "<script>"response.write "window.location='admin.asp'"response.write "</script>"end ifRS.Close : Set RS = Nothing%>
E por ultimo como faço pra mexer com 3 SQLs e RS, tenho dificuldade quando tenho que manipular vaias sqls num mesma pagina, exemplo
<!--#include file="includes/config.asp"--><!--#include file="includes/verificacao.asp"--><%id = Request.Querystring("ID")SQL="SELECT coluna FROM coluna WHERE id=" & idRS.Open SQL,Conexaocoluna = rs("coluna")RS.CloseSQL2="DELETE coluna FROM colunista WHERE coluna=" & coluna RS.Open SQL2,ConexaoRS.CloseSQL3="DELETE * From coluna WHERE id=" & idRS.Open SQL3,ConexaoSET RS = NOTHING%>
Por exemplo não sei quando tenho que abrir um novo SQL e um novo record set por exemplo, alguem sabe alguma explicação mais logica pra eu entender ? =)Desculpa a enxeção galera, mas valeu qualquer ajuda =)Abraçãooo

Compartilhar este post


Link para o post
Compartilhar em outros sites

DackAle,a respeito do primeiro código, nao conheço o componente q você está utilizando, mas pelo que me parece , e eh bem óbvio, você está usando um metodo que naum existe neste componente.sobre o segundo código, ....SQL="SELECT * FROM admin WHERE usuario = '" & usuario & "' AND senha= '" & senha & "'"RS.Open SQL,Conexao,1,1session("nivel") = RS("nivel") <----- provavelmente o erro está aqui, pq você está session("usuario") = RS("usuario") <----- tentando atribuir um recordset q ñ contem nehum valor a uma sessão, já q o ele retornou nenhum registro.if RS.EOF Then ** Coloque estes sessions dentro do IFSession("logado") = falseresponse.write "<script>"response.write "window.location='admin_erro.asp'"....sobre o último código,Imagine um Recordset como um local onde vão ficar todos os registros decorrentes de um comando SQL, por exemplo, quando fizemos um Select numa tabela, no Recordset vão ficar todos os registros que se enquadram na nossa condição SQL.Então a cada consulta SQL se você quiser manter os Recordsets anteriores, você terá de usar um novo Recorset, ex:...<!-- #include file="conn.asp" -->SQL = "SELECT * FROM users ORDER BY users.name"RS1 = Conn.Execute(SQL)......SQL = "SELECT users.name, add.street WHERE users.name = 'Joe' "SQL = SQL & "AND users.cd_user = add.cd_user ORDER BY users.name"RS2 = Conn.Execute(SQL)......e assim por diante, a cada nova leitura no banco, se você desejar utilizar os registros anteriores, você tem que criar um novo Recordset, caso contrário utilize o mesmo Recordset.espero ter ajudado, qualquer coisa coloque um post.flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro aparenta ser um erro de digitação, note que aparece um "." em File.Name, que não deveria existir, seu code para pegar os nomes de cada arquivo seria:

<!--#include file="includes/config.asp"-->

<!--#include file="includes/verificacao.asp"-->

<%

Set Upload = Server.CreateObject("Persits.Upload")

 

Upload.OverwriteFiles = False

Upload.Save Local_Arquivos

 

For Each File in Upload.Files

arquivos = File.filename

SQL="Insert INTO arquivos (arquivos) VALUES ('" & arquivos & "');"

Conexao.Execute(SQL)

Next

%>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeuuuuuuuuuuuuuuuuuuuu salgado, era isso mesmo =)Valeuzaum e entendi, o nome tambem é pego por um looping e jogado na variavel e talz, facinhooo =)Valeu e abração

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.