Ir para conteúdo
Fórum Script Brasil

ViaPocket

Membros
  • Total de itens

    68
  • Registro em

  • Última visita

Sobre ViaPocket

ViaPocket's Achievements

0

Reputação

  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 :-|
×
×
  • Criar Novo...