Guest Carlos Seiji Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 estou usando o comando "exit do" para sair do "do while", mas tem um problema ele falha algumas vezes teria algum outro comando para sair do comando "do while"?valeu[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luiz7s Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 creio que não existe outra forma de sair do loop que não seja essa. O que você pode tentar (gambiarra!) é colocar o loop dentro de uma "Function" ou uma "Sub" e nos casos necessários utilizar um "Exit Function" ou "Exit Sub" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 pois é..ou tb pode redirecionar o script para outra pagina.. assim, saindo do loop.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Carlos Seiji Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 é q já redireciono para outra pagina. com o meta refresh.não posso utiliza o response.redirect porque tem que ser depois de 10 seg.sera que se eu usar o response.end funciona??valeu pelas dicas anteriores.[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 olá..Bom.. o response.end vai fazer seu site parar de processar.então.. dependendo do que você tem abaixo do response.end, nada mais vai ser executado.você disse que não pode redirecionar, porque usa outro esquema..deixe-me ver..porque você gostaria de sair do loop? em que condição, e para fazer o que?quem sabe exista uma solução melhor.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Carlos Seiji Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 Pois então.tenho q enviar 10 e-mails por vez e ter uma pausa entre envios de 60 seg.são 300 e-mails + ou -e tenho de sair do loop a cada 10 e-mails.[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 hum..porque sair do loop a cada 10?bom.. e se, quando quisesse sair do loop, redirecionasse, passando como parametro a posição que estava quando saiu.. e na proxima pagina pegar o parametro.. e continuar.. não dá? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Carlos Seiji Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 porque o servidor não suporta mais q 10 .da o erro de scripttimeout e não quero alterar o valor do scripttimeout porque posso comprometer o rendimento do servidor.quanto ao redirecionamento apontando para o registro q parou, já estou fazendo isso.mas como o "exit do" falha ele não termina a pagina e fica sem acionar o meta refresh.e fica com status de abrindo a pagina e não sai mais dali. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 como está o codigo do seu loop?porque você não usa um redirecionamento..? sem ser esse que você esta usando.. pode ser com o response.redirect , ou server.transfer , ou se olhar no tópico de funções, eu postei um modo de redirecionar usando javascript..todos os modos funcionam.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 EDSONET Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 Olha a GAMBIARA!hehehehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Carlos Seiji Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 porque preciso de algo parecido com timer.vou ver as funcoes da qual você falou...quanto ao edsonetse tiver solucao eu agradeco piadas estou dispensando.[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Carlos Seiji Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 ae edsonet desculpa pela resposta....é que to meio nervoso por aqui.porque não to conseguindo resolver o problema.[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Carlos Seiji Postado Maio 3, 2004 Denunciar Share Postado Maio 3, 2004 Esqueci de colocar o script.vou colocar um simplificado já q o codigo é muito longo.select * from ml set rs = conn.Execute(SQL) do until rs.eof and response.isclientconnected() = true Set objCDOSYSMail = Server.CreateObject("CDO.Message") Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration") objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp2.locaweb.com.br" objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 objCDOSYSCon.Fields.update Set objCDOSYSMail.Configuration = objCDOSYSCon objCDOSYSMail.From = "suporte@sanegas.com.br" objCDOSYSMail.To = "ml@sanegas.com.br" objCDOSYSMail.Subject = email objCDOSYSMail.HtmlBody = corpo objCDOSYSMail.Send Set objCDOSYSMail = Nothing Set objCDOSYSCon = Nothing i = i + 1 if i = 10 then response.write "<meta http-equiv='Refresh' content='60; url=md_d.asp?id="&id_email&"'>" exit do end if rs.movenext loop Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Maio 4, 2004 Denunciar Share Postado Maio 4, 2004 olá amigo.Bom.. pelo que to vendo no seu codigo, você usa o response.write para redirecionar, certo?Bom..porque você não usa o Response.Redirect?veja:select * from mlset rs = conn.Execute(SQL)do until rs.eof and response.isclientconnected() = true Set objCDOSYSMail = Server.CreateObject("CDO.Message") Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration") objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp2.locaweb.com.br" objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 objCDOSYSCon.Fields.update Set objCDOSYSMail.Configuration = objCDOSYSCon objCDOSYSMail.From = "suporte@sanegas.com.br" objCDOSYSMail.To = "ml@sanegas.com.br" objCDOSYSMail.Subject = email objCDOSYSMail.HtmlBody = corpo objCDOSYSMail.Send Set objCDOSYSMail = Nothing Set objCDOSYSCon = Nothingi = i + 1if i = 10 thenresponse.redirect "md_d.asp?id="&id_email&""exit doend ifrs.movenextloopSe der algum erro, pois, o response.redirect só funciona se nada tiver sido escrito na pagina.. Então, você pode usar o server.transfer:server.transfer "pagina.asp"ou se tb não der.. pois o server.transfer funciona apenas com o IIS.. você pode usar javascript:response.write "<script>"response.write "window.location='pagina.asp'"response.write "</script>"veja oque acontece.. qualquer coisa, poste aíabraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Carlos Seiji
estou usando o comando "exit do" para sair do "do while", mas tem um problema ele falha algumas vezes teria algum outro comando para sair do comando "do while"?
valeu
[]'s
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.