Ir para conteúdo
Fórum Script Brasil

ViaPocket

Membros
  • Total de itens

    68
  • Registro em

  • Última visita

Tudo que ViaPocket postou

  1. Olá bareta. Estou dando uma olhada. De imediato não atendeu. Pois minha variável tem duplicidades... Ilustração: A string é exatamente assim (com vírgulas) var_string (4,4,4,5,5,5,5,5,6,6,6,7,8,9,9,9,10,) Preciso percorrer, pegar um "exemplar" de cada valor e passar para uma variável (talvez um array) para ficar assim var1= 4 var2= 5 var3= 6 var4= 7 var5= 8 var6= 9 var7= 10
  2. Me loop é assim For iLoop=0 to registro.length - 1 v_cod_modulo = registro.item(iLoop).selectSingleNode("./modulo").attributes(0).text Next É pra ler um XML. Está funcionando. O problema é que, em função da minha estrutura do XML a variável v_cod_modulo repete valores. Preciso pegar valores únicos e colocar cada um deles e váriáveis ou num array. Como faço? Obrigado.
  3. (post editado) Ops...decobri o problema. Estava chamando assim: Command1.CommandText = "dbo.meu_sp" Fiz assim Command1.CommandText = "meu_sp"
  4. Olá 1980coelho. Cara, quando se cria o relacionamentos entre as tab a vida muda...as coisas ficam mais fáceis heheh O ASP ficaria assim <% On Error Resume Next 'Esta linha é para interceptar erros id = TrataString(Request.Form("id")) 'Recupero o parâmetro 'Rodo apenas um DELETE na tabela principal, no meu casp a tabela EVENTO. 'Como ele está relacionada pelo ID com outras quatro tabelas o próprio banco de dados 'se encarregará de excluir as linhas que tiverem o ID capturado acima sqlDelEvento = "DELETE FROM EVENTO WHERE EVENTO.EventoID='"& var_id &"'" MM_conexao_STRING.Execute(sqlDelEvento) 'Agora vem um tratamento de erro (algo bem simples). Dim caminho , nomepagina, caminhofisico If Err.Number <>0 Then caminho = Request.ServerVariables("SCRIPT_NAME") For i = 1 to len(caminho) if inStr(1,right(caminho,i),"../") = 0 then nomepagina = (right(caminho,i)) else exit for end if next caminhofisico= Server.MapPath("/") Response.Cookies("erro").item("pagina") = nomepagina Response.Cookies("erro").item("numero") = err.number Response.Cookies("erro").item("data") = Time() Response.Cookies("erro").item("usuario") = Request.Cookies("conta").item("login") Response.Cookies("erro").item("descricao") = err.description Response.Cookies("erro").item("caminhofisico") = caminhofisico Response.Cookies("erro").item("origem") = err.nativeerror Response.Cookies("erro").item("fonte") = err.source Response.Clear() Response.Write ("Erro ") &Err.Number&"." &Err.Description&"." On error goto 0 End if No caso gravo alguns dados num cookie para que outra parte do sistema faça uso das informações. Mas se não precisar disso pode escrever os dados do erro diretamente na página, como eu fiz num trecho: Response.Write ("Erro ") &Err.Number&"." &Err.Description&"." Bom, é isso ai. Se precisar saber algo sobre o relacionamento das tabs fala ae. Essa é a parte mais simples. Agradeço a todos pela ajuda. Agora deixa eu ir lá no post de paginação hehehe
  5. Então... na verdade o mysql suporta sim, mais tu tem usar INNODB em vez de MYISAM Documentação constraints do mysql: http://dev.mysql.com/doc/refman/5.6/en/inn...onstraints.html Hmm...muito bom saber disso. Então problema resolvido. Agora vou criar relacionamento entre as tabs para rolar o delete em cascata. Aproveitando a deixa. Sabe dizer quais outros bancos (entre os mais utilizados), além do SQL e MySQL suportam relacionamentos?
  6. Bareta, havia pensado nesta possibilidade. Mas abri mão deste recurso pensando na possibilidade um dia precisar trocar de banco. A menos que eu esteja enganando, há bancos que não oferecem este recurso. Por exemplo o MySQL. É isso? No começo havia várias relacionamentos de tabelas. Mas depois que soube disso deixei de criá-los. De todo modo agradeço a sugestão. Olá 1980coelho. A ideia é esta. Fazer o delete tendo como parâmetro o ID do Evento que está nas tabelas relacionadas ao evento. Mas preciso aplicar este tratamento de erro para me assegurar. Programação é uma caixinha de surpresas heheh...quando a gente menos espera pode ocorrer um erro que não havíamos pensado. Ai lascou hehe. Se eu conseguir criar este tratamento nunca vou precisar esquentar a cabeça com a consistência dos dados porque a exclusão sempre ocorrerá em todas as tabelas. E se houver erro não ocorrerá em nenhuma tabela. Bom, vou quebrando a cabeça aqui. Se tiver alguma sugestão pode falar. valeu.
  7. Em meu projeto tenho uma tabela que registra eventos (entidade forte). Para cada evento posso ter: 1) Itens compartilhados - Um evento pode ser compartilhado com vários usuários. 2) Item marcado como favorito. Cada evento pode estar marcado como favorito numa tabela para esta finalidade. 3) Itens de data. Tenho uma tabela que guardo datas. Cada evento tem várias datas. 4) Participantes do evento. Ah...e por último o próprio evento. Ops...na verdade são cinco SQL hehehe Então se uma das instruções falhar meu banco ficará sujo. Não posso ter, por exemplo, um evento compartilhado que não existe na tab EVENTOS, nem um favorito que não existe em EVENTOS e assim por diante. Todas estas tabelas/entidades fracas armazenam o ID do evento, é isso que cria o vínculo. Vale dizer que a permissão para exclusão é controlada. O evento (e seus itens relacionados) só pode ser excluído se seu status estiver como Ativo. Uma vez finalizado o evento não poderá sem removido em hipótese alguma.
  8. Pelo que sei a forma de tratar erro no ASP é com On Error Resume Next. No meu caso tenho que rodar quatro instruções SQL para deletar registros no banco. Porém, preciso que a exclusão dos dados só seja feita se não ocorrer nenhum erro nas quatro consultas. Meu código está assim <% On Error Resume Next 'Aqui vai meu código, são quatro instruções sql para deletar... 'Abaixo segue o tratamento de erro. If Err.Number <>0 Then... On error Goto 0 %> Desta forma, se houver erro, por exemplo, na terceira instrução SQL a primeira e a segunda serão executadas. Isso vai gerar inconsistência no banco de dados. Preciso algo do tipo "deleta tudo" ou "não deleta nada". Senão o banco vai ficar sujo.
  9. Hmmm...bom, vou testar. Mas ainda estou meio cético porque a página roda uma consulta assim: SELECT [sisMunCod], [sisMunCodEstado], [sisMunDesc] FROM SIS_MUNICIPIOS WHERE SisMunCod = '"&strID&"' Este WHERE é quem diz qual registro será selecionado. Se eu pressionar o link Próximo não haverá um valor para passar pela URL para satisfazer consulta. E é justamente a partir deste ponto que a coisa pega porque se não houver parâmetro haverá erro. Não? Então você pode pensar "bom, basta informar o parâmetro no link de navegação...algo como <a href='pagina.asp?PagAtual=" & TotalPages & "' &ID='"&rs("campo_pk")&"'> Creio que não funcionará porque rs("campo_pk") será resultado da consulta acima. Então se o select foi feito tendo como parâmetro o ID 100 o valor da variável do link ( o recordset rs("campo_pk) ) será exatamente o mesmo e a navegação não sairá do lugar. Mas vou reler seus comentários para ver se não estou escrevendo bobagem e fazer mais testes. Obrigado meu caro!
  10. Olá Bareta. Perdão, mas não consigo entender como o Pagesize vai atender. Vejam este tela. Talvez ajude a expor melhor minha necessidade
  11. Olá 1980coelho! Primeiramente agradeço pela ajuda. Olha, é quase isso. Imagina o cenário. O cara clica num item da página A (página que lista os itens) e vai para a página B (página que trás os detalhes do item). O parâmetro é passado pela URL. Imagine que o ID passado pela URL seja 20. Então ao carregar a página B será exibido detalhes do item com ID igual a 20. Certo? Até aqui nada de novidade. O que preciso é que na página B tenha os botões (ou links) de navegação para navegar para outros itens na página B. Então tem que ser um esquema que passe o parâmetro (ID) para a própria página B. Ai tem que pegar no recordset o ID do item anterior e item posterior para servir como parâmetro para mandar para a URL. Outra possibilidade seria assim. Ter uma condição que, se o parâmetro da URL for null ele roda a consulta (sem parâmetro). O código que postou está perfeito para isso, caso contrário roda a consulta usando um WHERE CampoID= var_da_URL, ou seja, com parâmetro da URL. Isso eu montei. Desativei O IF do os links de navegação. Até que funcionou, dá pra navegar do jeito que preciso (com ou sem parâmetro na URL). Mas tem um pequeno inconveniente. Como desativei o IF dos navegadores o link Próximo fica aparecendo mesmo quando é o último registro e o link Anterior fica aparecendo mesmo quando é o primeiro registro. Como faço para contornar isso? valeu.
  12. Olá amigos. Testei a paginação do link acima. Perfeita! Mas minha necessidade é de navegar por um registros por vez. Se eu usar o código o código do link acima para navegar por um registro por vez as opções Prox, Anterior, Primeiro, Último e etc ficam desabilitadas. Isso ocorre porque no meu caso usa um WHERE na consulta. Então o recordset sempre será igual 1 (um). E sendo assim o código entendo que não faz sentido exibir os links de navegação. Entendo que a lógica esteja correta. No meu caso o id do registro não tem ordem, é aleatório no BD. Então não dá pra usar a lógica "mova para rs +1 ou rs -1. Pois se meu id for igual a 5 talvez não exista no banco o item 6 nem o item 4. Por outro lado, se eu usar WHERE Campo <= '"&meu_id&"' também não funciona porque deste modo a consulta não trará o item que eu quero. Se alguém puder dar uma luz ficarei muito grato.
  13. Rapaz...paginação TOP! Parabéns! Estou usando no meu projeto a paginação do Dreamweaver...vou substituir por esta. Muito boa.
  14. O console de erros do FF mostra o erro XMLTHTTP not defined e não carrega. Nos outros navegadores funciona. O código é este. window.onload=carrega_menu() function carrega_menu() { var obj_menu = createXMLHTTP(); obj_menu.open("POST", "/App/carrega_menu_XML.asp", true); obj_menu.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); obj_menu.onreadystatechange=function(){ if (obj_menu.readyState==4){ document.getElementById("div_menu").innerHTML = obj_menu.responseText; }} obj_menu.send(null); } Diz que o erro está em var obj_menu = createXMLHTTP(); O que há de errado?
  15. ViaPocket

    Limitar loop For

    Olá pessoal. Uma ajuda por caridade. valeu :-|
  16. ViaPocket

    Limitar loop For

    Tenho o loop abaixo que funciona. É trecho de um código que lê os nodes de um arquivo XML. for i=0 to registro.length - 1 vservico = registro.item(i).selectSingleNode("./servico").text vcodservico = registro.item(i).selectSingleNode("./cod_servico").text viconeservico = registro.item(i).selectSingleNode("./icone_servico").text vpastaservico = registro.item(i).selectSingleNode("./pasta_servico").text next O que preciso é fzer que este loop liste somente os registros que tiverem o node ./servico igual a palavra vida (por exemplo). É como se fosse um select usando a cláusula WHERE. Como faço isso? Um help por caridade.
  17. Ok Bareta. Obrigado pelas sugestões. No meu caso o ID não é ordenado...então não posso "confiar" em colocar para Anterior algo como ID atual-1 e Próximo o ID atual +1. Achei que fosse só colocar um rs.Next e rs.Previous (ou algo equivalente). Para movimentar, o recordset tem que estar com vários registros Isso não acontece porque o select trás somente um registro (tem um WHERE na query). Vou dar uma fuçada no fórum. Se tiver algo na agulha posta ai. valeu!
  18. Uso o código abaixo para acessar páginas via AJAX (carrega tudo dentro de uma DIV). //Função para carregar página via AJAX try{ xmlhttp = new XMLHttpRequest(); } catch(ee){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(E){ xmlhttp = false; } } } div_base = ""; function abre(arquivo,metodo,div){ div_base = div; xmlhttp.open(metodo,arquivo); xmlhttp.onreadystatechange=conteudo_ajax xmlhttp.send(null) var janela_modal=document.getElementById("coluna").style.display="block"; var janela_overlay = document.getElementById("overlay").style.display = "block"; } function conteudo_ajax() { nova_div = div_base; document.getElementById(nova_div).innerHTML="<div style='top:50%;left:50%;position:relative;'>carregando...</div>" if (xmlhttp.readyState==4){ document.getElementById(nova_div).innerHTML=xmlhttp.responseText var conteudo=document.getElementById("conteudo_ajax").style.display="block"; } } E para chamar a função tenho que fazer os links assim <a href="java script: abre('pagina.asp','GET','conteudo_ajax')">Link</a> É trabalhoso...mas não achei uma forma mais simples. O que preciso agora é acessar uma página mas não por link. Será pelo submit do form. Minha dúvida está em encontrar uma forma de reproduzir este resultado mas usando o submit do form (ou função que o faça). Tentei algo como onsubmit="java script: abre('pagina.asp','GET','conteudo_ajax'". Mas não rolou. Um help por caridade. valeu.
  19. Fazendo um exercício da função Split me deparei este pequeno problema. A função coloca uma vírgula e não há Cristo que suma com ela. var str="id?=30"; var n=str.split("id?="); O resultado deste exercício é ",30", com uma vírgula antes do número. Então pensei que seria moleza resolver isso com o Replace. str=n var p=str.replace(",",""); alert(p) A surpresa é que isso não funciona (nem abre o alert). Gostaria de, primeiramente, remover a vírgula do Split porque vou precisar aplicar o código. E também quero saber porque o Replace não funciona neste caso. Obrigado.
  20. Não sei se a solução é com ASP ou JS mas preciso deste help. Minhas DIVs se ajustam à largura da tela, sendo assim preciso que seja aproveitado o máximo possível da largura e colocar os "..." no final, caso ocorra a abreviação do texto. Em ASP dá pra resolver isso com o LEFT...mas usar como referência a largura da DIV não sei nem como começar. Uma ajuda por caridade.
  21. Pessoal, enho este código bem simples (mas que funciona). function carrega_abas() { var obj_abas = createXMLHTTP(); obj_abas.open("get", "../../../includes/abas.asp", true); obj_abas.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); obj_abas.onreadystatechange=function(){ if (obj_abas.readyState==3){ } else if (obj_abas.readyState==4){ document.getElementById("divAbas").innerHTML = obj_abas.responseText; } } obj_abas.send(null); } Minha dúvida está em como chamar o conteúdo de outras páginas na mesma function. O AJAX permite fazer fazer várias requisições na mesma instância? Se sim, como faço isso? Grato.
  22. Olá Bareta. Primeiramente obrigado pela ajuda. Ótima sugestão! Seguindo sua lógica imagino que posso usar qualquer tipo de arquivo, né? HTML, texto, XML, Excel, certo? Se sim, qual o tipo de arquivo mais indicado? Quanto ao fechamento das conexões e recodset está tudo ok...me atento bastante a este detalhe. Gravar e ler conteúdo de arquivo será algo novo pra mim...se tiver algum código disso ficarei ainda mais agradecido. valeu!
  23. O site tem o clássico layout: cabeçalho, menu à esquerda e o "miolo". O cabeçalho tem um menu em abas, quem vem de um recordset. E o menu à esquerda tb vem de um recordset . Vejam, logo de cara já preciso fazer duas consultas para definir as áreas em que o usuário pode acessar. Fora estas duas consultas há aquelas que serão feitas na utilização do site. A forma que encontrei de não comprometer o desempenho geral foi colocar o miolo da página num IFRAME. Desta forma o cabeçalho e o menu ficam "congelados" pois a consulta deles só se faz uma fez. O problema é que trabalhar com IFRAME é algo ultrapassado e gera problemas com compatibilidade (Opera e Firefox, por exemplo). Estou pesando em rever tudo e fazer a navegação do "miolo" da página via AJAX. Porém alguns testes que fiz mostraram que ocorre problemas quando tenho instanciado o framework Spry (do Dreamwaver) na página. O problema é que além de ter muita coisa já construída com o Spry ele é uma mão na roda porque é visual (não precisa digitar para criar os elementos nem instanciar), o que facilita o trabalho. Diante disso pergunto. Na opinião dos amigos, qual a forma mais adequada para estruturar meu site? Creio que rodar duas consultas (das abas e do menu lateral) toda vez que uma página for carregada não é uma boa ideia. Até pensei em colocar o recordset destas consultas numa Session. Agradeço desde já; :-)
  24. Numa situação preciso que a table tenha bordas, ou outra situação preciso que tenha bordas somente em alguns lados. Como faço isso via CSS?? Estava imaginando ter uma classe com bordas e outra "pseudoclasse" sem a bordas. Mas como monto isso? Brigado.
  25. Seguinte. Quero saber qual o caminho para que devo seguir para que eu faça uma "paginação" de registro único. Imagine que estou visualizando determinado registro cujo ID foi capturado da URL. Quero que, ao clicar num elemento, o regsitro atual salte para o próximo ou anterior. To tentando me virar aqui com algo como rs.Movenext...mas ainda nada de funcionar. Um help por caridade.
×
×
  • Criar Novo...