jucacabala
-
Total de itens
172 -
Registro em
-
Última visita
Posts postados por jucacabala
-
-
estou postando porque me ajudou muito pode ser muito util para outras pessoas.
se preferir o link http://www.superasp.com.br/paginas_exibir_...p?dep=0,0&id=85
Tenho certeza que muitas pessoas, inclusive eu, já tiveram vários problemas com relação à data e moeda em seus sistemas, enquanto desenvolviam ou quando migravam o sistema para outro servidor.Tentaram de várias formas corrigir o problema, usando conversores, mudando o LCID para alterar o formato para Americano, ou Português, ou até mesmo para outra configuração.
No final, alguns sempre conseguiam solucionar o problema. Mas, caso o mesmo sistema fosse migrado para outro servidor de configuração diferente, novamente o problema surgia.
Vou mostrar um método a ser utilizado, que jamais trará problemas deste tipo.
Este tipo de tratamento evita que, independente da configuração do seu servidor, os dados sejam interpretados de forma diferente.
Quando formos usar dados do tipo moeda ou data, devemos sempre tratar estes dados no formato americano. Para tanto, devemos então usar sempre o LCID americano:
Session.LCID = 1033
Desta forma, os dados serão gravados no banco de dados no formato americano (9999.99 para moeda, mm/dd/aa para data), quando capturados estes dados, saberemos que estarão no formato americano, o mesmo formato que estamos usando em nosso sistema.
O correto é mudar o formato apenas na exibição destes valores, ou seja, converter para o formato desejado somente depois capturados os dados.
Exibindo os dados no formato desejado
Para exibir dados do tipo moeda no formato Brasileiro, utilize a função abaixo:
Function FormataMoeda(valor)
sp = Mid(FormatNumber(1000, 0, -1, 0, -1),2,1)
sv = Mid(FormatNumber(0.1, 1, -1, 0, -1),2,1)
If isNumeric(valor) Then
v = FormatNumber (valor, 2, -1, 0, -1)
Else
v = FormatNumber (0, 2, -1, 0, -1)
End If
v = Replace(v, sp, "p")
v = Replace(v, sv, "v")
v = Replace(v, "p", ".")
v = Replace(v, "v", ",")
FormataMoeda = v
End Function
Basta escrever o valor da seguinte forma:
Response.Write FormataMoeda(objRS("valor"))
Para exibir os dados do tipo data no formato brasileiro, utilize a função abaixo:
Function FormataData(Data)
If Data <> "" Then
FormataData = Right("0" & DatePart("d", Data),2) & "/" & Right("0" & DatePart("m", Data),2) & "/" & DatePart("yyyy", Data)
End If
End Function
Basta escrever a data da seguinte forma:
Response.Write FormataData(objRS("data"))
Gravando os dados corretamente
Para gravar dados do tipo moeda no banco de dados, devemos levar em consideração se o valor está ou não no formato americano.
Caso o valor á ser gravado, veio de um formulário, e esteja no formato brasileiro, utilize a função abaixo:
Function FormataMoedaAmericano(valor)
Dim v
v = valor
v = Trim(v)
v = Replace(v,".","")
v = Replace(v,",",".")
v = ccur(v)
FormataMoedaAmericano = v
End Function
Basta gravar o valor da seguinte forma:
objRS("valor") = FormataMoedaAmericano(Request.Form("valor"))
Caso o valor a ser gravado já esteja no formato americano, não é necessário o uso da função, como mostra o exemplo abaixo:
objRS("valor") = Request.Form("valor")
Para gravar dados do tipo moeda no banco de dados, devemos levar em consideração se o valor está ou não no formato americano.
Caso o valor á ser gravado, veio de um formulário, e esteja no formato brasileiro, utilize a função abaixo:
Function FormataData(Data)
Dim v
v = Right("0" & Mid(Data,4, 2),2) & "/" & Right("0" & Left(Data, 2),2) & "/" & DatePart("yyyy", Data)
v = Cdate(v)
FormataData = v
End Function
Basta gravar a data da seguinte forma:
objRS("data") = FormataData(Request.Form("data"))
Caso a data a ser gravada já esteja no formato americano, não é necessário o uso da função, como mostra o exemplo abaixo:
objRS("data") = Request.Form("data")
Espero ter ajudado á todos.
Um grande abraço!
Fabiano Dias
fabiano@superasp.com.br
www.superasp.com.br
O portal do desenvolvedor ASP
-
tudo bem
mas estive pensando, se a pasta que vai receber o upload é criada atraves de FSO dentro de outra pasta que j atem permissão de escrita, então a pasta criada herda esta permissão.
sera que o erro esta no upload? eu posso utilizar o caminho para salvao o arquivo na pasta como coloquei no codigo?
objUpload.Save "F:\Julyana\acasp\site\images\cursos\'"&codpasta&"'\" -
não o campo ta como texto mesmo
o erro que da é "não é possivel abrir o arquivo para escrita"
-
vi que o problema não é de permissão, pois se uma pasta é criada, então no lugar onde estou criando estas pasta já existe a permissao de escrita.
codpasta é o nome criado anteriormente na pasta.
mas mesmo assim esta dando o erro. por isso vou postar o codigo:
DIM conexaodb, str, rs Dim codpasta, foto, descricao, objUpload call abreconexao Set objUpload = server.CreateObject("Dundas.Upload.2") codpasta = objUpload.form("pasta") objUpload.UseVirtualDir = false objUpload.UseUniqueNames = false objUpload.Save "F:\Julyana\acasp\site\images\cursos\'"&codpasta&"'\" For Each objUploadedFile in objUpload.Files foto = objUpload.GetFileName(objUploadedFile.Path) Next descricao = objUpload.form("descricao") str = "INSERT INTO foto_curso (codpasta, foto, descricao) " str = str & "VALUES ('" & codpasta & "','" & foto & "','" & descricao & "')" Set rs = conexaodb.Execute(str) call fechaconexao Set objUpload = Nothing
-
ninguém sabe?
-
este problema já resolvi, agora so estou precisando solucionar a permissão de escrita na pasta.
-
tenho uma pagina que cria um pasta em meu diretorio atraves de FSO.
apenas preciso que esta pasta criada tenha permissão de escrita para receber arquivos atraves de upload.
pois quando envio meus arquivos atraves do Dundas esta dando o errro: "não é possivel abrir a pasta para escrita". creio que isso seja um erro de permissão.
como faço isso?
-
eis a resposta!
<!--#include file="conexao.inc" --> <% if session("logado")="" then response.redirect "login.asp" end if %> <% On Error Resume Next Dim objUpload, rs, srt, conexaodb, foto, codigo Set objUpload = server.CreateObject("Dundas.Upload.2") objUpload.UseVirtualDir = false objUpload.UseUniqueNames = true objUpload.Save "F:\Julyana\acasp\site\images\associados" For Each objUploadedFile in objUpload.Files foto = objUpload.GetFileName(objUploadedFile.Path) Next codigo = objUpload.form("codigo") Set objUpload = Nothing str = "UPDATE associados SET " str = str & "foto= '"&foto&"' " str = str & "WHERE codigo= '"&codigo&"' " call abreconexao Set rs = conexaodb.Execute(str) %>
para mostrar erro dentro da minha pagina:<% If Err <> 0 Then %> <td height="50" align="center" class="verdana11bold"><font color="#990000">Houve erros ao carregar o arquivo anexado.</font></td> <% Else %> <td height="50" align="center" class="verdana11bold"> <font color="#990000">Arquivo enviado com sucesso.</font></td> <% end if %>
-
a variavel foto esta vindo em branco, não esotu conseguindo pegar o valor para jogar na variavel
-
tenho um codigo de upload, que esta funcionando normalmente.
o unico problema é que não estou conseguindo salvar no banco o nome da imagem que esta sendo salva na pasta de destino.
estou usando o dundas e nele a propriedade
para não correr o risco de uma imagem sobrescrever outra.objUpload.UseUniqueNames = truemeu codigo de upload é esse:
<!--#include file="conexao.inc" --> <% if session("logado")="" then response.redirect "login.asp" end if %> <% On Error Resume Next Dim objUpload, rs, srt, conexaodb, foto, codigo Set objUpload = server.CreateObject("Dundas.Upload.2") objUpload.UseVirtualDir = false objUpload.UseUniqueNames = true objUpload.Save "F:\Julyana\acasp\site\images\associados" If Err <> 0 Then Response.Write Err.Description & " " & Err.Number & "<br>" Response.Write "erro" Else Response.Write "certo" path=objUploadedFile.Path foto = "F:\Julyana\acasp\site\images\associados\"& objUpload.GetFileName(path) codigo = objUpload.form("codigo") End If str = "UPDATE associados SET " str = str & "foto= '"&foto&"' " str = str & "WHERE codigo= '"&codigo&"' " call abreconexao Set rs = conexaodb.Execute(str) Set objUpload = Nothing %>
como posso resolver esse problema?
-
ta quase la, mas a pagina ainda apresenta erro
a paginação não esta aparecendo
<!--#include file="conexao.inc" --> <% linkpag = "galeria.asp?cod=codigo" '-- para a paginação TamanhoPagina = 1 '-- qtde de registros por página qtdecol = 1 '-- qtde de colunas da tabela de listagem DIM conexaodb, str, rs, codigo codigo = Request.QueryString("cod") str = "SELECT * FROM foto_curso WHERE codpasta= '"&codigo&"' order by id desc " call abreconexao 'Set rs = conexaodb.Execute(str) rs.open str, conexaodb '-- para paginação tem que ser rs.open %> <html> <head> <title>::..ACASP..:: - Assitentes de Câmera Associados de São Paulo</title> <link href="estilo.css" rel="stylesheet" type="text/css"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('images/menu/menu_r2_c2_f3.gif','images/menu/menu_r2_c2_f2.gif','images/menu/menu_r3_c6_f3.gif','images/menu/menu_r3_c6_f2.gif','images/menu/menu_r2_c10_f3.gif','images/menu/menu_r2_c10_f2.gif')"> <table width="500" border="0" cellpadding="0" cellspacing="0"> <tr> <td> </td> </tr> <% if rs.Eof then %> <tr> <td height="100" class="verdana11bold"><font color="#000066">Não possui fotos cadastradas.</font></td> </tr> <% end if 'Do While Not rs.Eof '-- colocar o include da paginação no lugar do DO WHILE %> <!--#include file="include/geral_pag01.asp" --> <tr> <td class="arial9"><table width="100%" border="0" cellpadding="0" cellspacing="5" class="box4"> <tr> <td align="center"><img src="images/cursos/<% = rs.Fields("codpasta") %>/<% = rs.Fields("foto") %>"></td> </tr> </table></td> </tr> <tr> <td><img src="images/spacer.gif" width="10" height="10"></td> </tr> <% 'rs.MoveNext 'LOOP '--- colocar a paginação no lugar do LOOP %> <!--#include file="include/geral_pag02.asp" --> </table> </body> </html>
include/geral_pag01.asp<% if PaginaAtual = "" then PaginaAtual = 1 if total_pagina = "" then total_pagina = rs.PageCount else total_pagina = request("total_pagina") end if select case Request.QueryString("modo") case "proxima" 'PaginaAtual = min( PaginaAtual + 1, total_pagina ) PaginaAtual = cint( request.QueryString("numero") ) case "anterior" PaginaAtual = cint( request.QueryString("numero") ) case "pagina" if isNumeric( request.QueryString("numero") ) then PaginaAtual = cint( request.QueryString("numero") ) end if end select ' Uma vez definida qual é a página atual, passamos esta informação para ' o recordset ser posicionado no primeiro registro da página desejada If not rs.eof Then rs.AbsolutePage = PaginaAtual limite = total_pagina - 1 i=1 item=1 Do while not rs.eof and item <= TamanhoPagina %>
geral_pag02.asp<% i = i + 1 item = item + 1 rs.movenext loop %> <tr><td colspan=<%=qtdecol%>> <p align="right"> <font size=1><b> <% '-- paginacao da paginação auxpag = 20 interv01 = request("interv01") if interv01 = "" then interv01 = 1 interv02 = request("interv02") if interv02 = "" then interv02 = CInt(auxpag) if CInt(interv02) >= CInt(total_pagina) then interv02 = total_pagina if PaginaAtual > auxpag Then 'Colocar o link para página anterior se não for a primeira numero = PaginaAtual - 1 response.write "<a href='" & linkpag response.write "&modo=anterior&interv01="& (interv01-auxpag) &"&interv02="& (interv02-1) &"&numero=" & interv02-1 & "&total_pagina=" & total_pagina & "'>Anterior " & auxpag & " .... </a> " end if for n = interv01 to interv02 if n = PaginaAtual then response.write "<u>" & n & "</u> " ' Se for a página atual, não colocar link, só o número dela. else response.write "<a href='" & linkpag response.write "&modo=pagina&total_pagina=" & total_pagina response.write "&numero=" & n & "&interv01="& interv01 &"&interv02="& interv02 & "'>" & n & "</a> " end if next 'Colocar o link para próxima página se não for a última if PaginaAtual < total_pagina and auxpag < total_pagina then numero = PaginaAtual + 1 response.write "<a href='" & linkpag response.write "&modo=pagina&interv01="& (interv02+1) &"&interv02="& (interv02+auxpag) &"&numero=" & interv02+1 & "&total_pagina="& total_pagina &"'> .... Próximo " & auxpag & "</a> " end if %> </b><% = "<br> Total: " & rs.recordcount & " records in " & total_pagina & " páginas [max " & TamanhoPagina & " registros/página]" %></font> </td></tr>
o link é este http://www.quartocriativo.com.br/acasp/sit...curso.asp?cod=7 ai é so clicar no link Clique aqui para ver a galeria de fotos que abre um pop onde deveria ter uma paginação
o que tem de errado nesse codigo, não consigo descobrir.
-
refiz a pagina mas continua o erro
agora segui um tutorial, mas mesmo assim não deu
esse negocio de paginação é muito piriri
a pagina que quero a paginação é esta, esta funcionando normalmente
mas quando eu coloco para paginar o resultado que vem do banco so da erro.
já procurei por paginação em diversos lugares, mas não funciona.
alguém pode me dar uma luz?
<!--#include file="conexao.inc" --> <% DIM conexaodb, str, rs, codigo codigo = Request.QueryString("cod") str = "SELECT * FROM foto_curso WHERE codpasta= '"&codigo&"' " str= str & " order by id desc " call abreconexao Set rs = conexaodb.Execute(str) %> <html> <head> <title>::..ACASP..:: - Assitentes de Câmera Associados de São Paulo</title> <link href="estilo.css" rel="stylesheet" type="text/css"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('images/menu/menu_r2_c2_f3.gif','images/menu/menu_r2_c2_f2.gif','images/menu/menu_r3_c6_f3.gif','images/menu/menu_r3_c6_f2.gif','images/menu/menu_r2_c10_f3.gif','images/menu/menu_r2_c10_f2.gif')"> <table width="500" border="0" cellpadding="0" cellspacing="0"> <tr> <td> </td> </tr> <% if rs.Eof then %> <tr> <td height="100" class="verdana11bold"><font color="#000066">Não possui fotos cadastradas.</font></td> </tr> <% else Do While Not rs.Eof %> <tr> <td class="arial9"><table width="100%" border="0" cellpadding="0" cellspacing="5" class="box4"> <tr> <td align="center"><img src="images/cursos/<% = rs.Fields("codpasta") %>/<% = rs.Fields("foto") %>"></td> </tr> </table></td> </tr> <tr> <td><img src="images/spacer.gif" width="10" height="10"></td> </tr> <% rs.MoveNext LOOP end if rs.close Set rs = Nothing %> </table> </body> </html>
-
o que há de errado? refiz a pagina seguindo um tutorial mas continua dando erro
<!--#include file="conexao.inc" --> <% DIM conexaodb, str, rs, codigo regs = 10 'DEFININDO A QUANTIDADE DE RESULTADOS POR PÁGINA pag = request.querystring("pagina") 'ESTA É A QUERYSTRING QUE APRESENTARÁ A PÁGINA ATUAL, E AS DEMAIS... if pag = "" Then pag = 1 end if rs.cursortype = 3 'DEFININDO O CURSOR A SER UTILIZADO rs.pagesize = regs 'PEGANDO A QUANTIDADE DE RESULTADO POR PÁGINA DEFINIDO ANTERIORMENTE codigo = Request.QueryString("cod") str = "SELECT * FROM foto_curso WHERE codpasta= '"&codigo&"' " str= str & " order by id desc " set rs = createobject("adodb.recordset") set rs.activeconnection = conexaodb call abreconexao rs.open str 'Set rs = conexaodb.Execute(str) %> <html> <head> <title>::..ACASP..:: - Assitentes de Câmera Associados de São Paulo</title> <link href="estilo.css" rel="stylesheet" type="text/css"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('images/menu/menu_r2_c2_f3.gif','images/menu/menu_r2_c2_f2.gif','images/menu/menu_r3_c6_f3.gif','images/menu/menu_r3_c6_f2.gif','images/menu/menu_r2_c10_f3.gif','images/menu/menu_r2_c10_f2.gif')"> <table width="500" border="0" cellpadding="0" cellspacing="0"> <tr> <td> </td> </tr> <% if rs.eof or rs.bof then %> <tr> <td height="100" class="verdana11bold"><font color="#000066">Não possui fotos cadastradas.</font></td> </tr> <% else rs.absolutepage = pag contador = 0 do while not rs.eof and contador < rs.pagesize %> <tr> <td class="arial9"><table width="100%" border="0" cellpadding="0" cellspacing="5" class="box4"> <tr> <td align="center"><img src="images/cursos/<% = rs.Fields("codpasta") %>/<% = rs.Fields("foto") %>"></td> </tr> </table></td> </tr> <% contador = contador +1 rs.movenext loop %> <tr> <td><img src="images/spacer.gif" width="10" height="10"></td> </tr> <tr> <td>paginas: <% end if for i = 1 to rs.pagecount if i = cint(pag) then response.write "<b>" & i & "</b>" else response.write " <a href='" & request.servervariables("script_name") & "?pagina=" & i & "&cod=" & codigo & "'>" & i & "</a> " end if next %> <% rs.close conexaodb.close set rs = nothing set conexaodb = nothing %> </td> </tr> <tr> <td> </td> </tr> </table> </body> </html>
o erro
Tipo de erro:Erro de tempo de execução do Microsoft VBScript (0x800A01A8)
Objeto necessário: ''
/acasp2/galeria.asp, line 10
a linha 14 é
rs.cursortype = 3 -
resolvido
eu apenas estava deixando de colocar o nome da pasta onde esta o video
por isso não abria o media player.
-
mas cada video tem um tamanho widthe height diferentes
como faço para que o player abra exatamente no tamanho do video?
-
povao olha so
tenho uma pagina que exibe varios thumbs, e estes são imagens.
gostaria que ao clicar nessa imagem o video relacionado a ela abrisse no Media Player.
olha so como coloquei meu codigo:
<% if Request.QueryString("cod") = 2 then%> <a href="#" id="texto" onClick="MM_openBrWindow('galeria3.asp?cod=<% = rs.Fields("id") %>','janela','scrollbars=yes,width=650,height=650')"><img src="images/galeria/<% = rs.Fields("thumb") %>" border="0"></a> <% end if%> <% if Request.QueryString("cod") = 3 then%> <a href="<% = rs.Fields("video") %>" target="_blank"><img src="images/galeria/<% = rs.Fields("thumb") %>" border="0"></a> <% end if%>
mas o video não abre, pois o link esta entendendo que o nome do video trazido pelo banco de dados é uma pagina existente. o que posso fazer?
-
ta resolvido
o JCMPJ desvendou
o campo numero etava sem valor e no banco ele não pode ser nulo
pode fechar
-
olha o que deu
UPDATE cadastro SET senha='1234',nome='Nancy',sobrenome='C. Rodrigues Lima',email='nancy.lima@uol.com.br',nascimento=#27/09/1975#,igreja='Metodista em Vila Nivi',endereco='',numero=,complemento='',bairro='',cep='',cidade='',estado='',ddd='',telefone='',celular='' WHERE id=31
-
tá meu codigo ficou assim
so que mesmo assim esta dando o tal erro no update
<!--#include file="conexao.inc" --> <% if Request.form("nome")="" then response.redirect "index.asp" end if if session("id")="" then response.redirect "restrito.asp" end if %> <% DIM conexaodb, rs, str Dim id, nome, sobrenome, email, nascimento, igreja, endereco, numero, complemento, cep, bairro, cidade, estado, ddd, telefone, celular, senha senha = Trim(Request.form("senha")) nome = Trim(Request.form("nome")) sobrenome = Trim(Request.form("sobrenome")) email = Trim(Request.form("email")) nascimento = Trim(Request.form("nascimento")) igreja = Trim(Request.form("igreja")) endereco = Trim(Request.form("endereco")) numero = Trim(Request.form("numero")) complemento = Trim(Request.form("complemento")) bairro = Trim(Request.form("bairro")) cep = Trim(Request.form("cep")) cidade = Trim(Request.form("cidade")) estado = Trim(Request.form("estado")) ddd = Trim(Request.form("ddd")) telefone = Trim(Request.form("telefone")) celular = Trim(Request.form("celular")) id = Trim(Request.form("id")) str = "UPDATE cadastro SET " str = str & "senha='" & senha & "'," str = str & "nome='" & nome & "'," str = str & "sobrenome='" & sobrenome & "'," str = str & "email='" & email & "'," str = str & "nascimento=#" & nascimento & "#," str = str & "igreja='" & igreja & "'," str = str & "endereco='" & endereco & "'," str = str & "numero=" & numero & "," str = str & "complemento='" & complemento & "'," str = str & "bairro='" & bairro & "'," str = str & "cep='" & cep & "'," str = str & "cidade='" & cidade & "'," str = str & "estado='" & estado & "'," str = str & "ddd='" & ddd & "'," str = str & "telefone='" & telefone & "'," str = str & "celular='" & celular & "' " str = str & "WHERE id=" &id call abreconexao Set rs = conexaodb.Execute(str) %>
-
ai é que tá
eu não consigo achar o erro na instrução
na linha
eu já tirei a , que estava a maisstr = str & "celular='" & celular & "',"so que mesmo assim o erro persiste!
aiaiaia
fora isto me parece que o script esta certo
ou não estou conseguindo achar o erro nele
o que faço agora?
-
-
mas o que tem de errado nesta linha?
todos os outros campos são texto
e somente nascimento que é tipo data e o numero é tipo numero
a linha de erro é a 54 "Set rs = conexaodb.Execute(str)
"
-
campo data é assim mesmo que se escreve
já revirei o codigo todo
mas não acho onde possa estar o erro
já que em todos meus updates uso este mesmo codigo e dá certo
se alguém descobrir onde posso estar errando
eu agradeço
abraços
Julyana
-
isso é um campo tipo data
Dundas De Novo
em ASP
Postado
alguém sabe como se faz?
tenho um form com dois campos tipo FILE para enviar arquivos
como faço para gravar no meu banco o FILE1 no campo thumb da minha tabela e o FILE2 no campo foto da minha tabela?
isso é possivel?