po1725 Posted May 23, 2012 at 02:59 PM Report #457644 Posted May 23, 2012 at 02:59 PM Olá, tenho um pequeno problema urgente! assim por alto tenho uma label no form que diz se o servidor está ligado ou não mas só funciona na 1ª vez não sei o porquê //Código contido dentro de um timer de 2 em 2 segundos actualiza { if ( coneccao.state.tostring() == "Close" ) { lbl1.text="Servidor desligado"; } else lbl1="servidor ligado"; } Quando inicio a aplicação com o servidor desligado: -diz:Servidor desligado -está correcto -ligo servidor e na aplicação diz: Servidor desligado- totalmente errado (se iniciar com ele ligado acontece o mesmo diz sempre que está ligado ) com um breakpoint no 'coneccao.state.tostring()' está sempre no Close e nunca muda para o Open só decide o Open ou Close na 1º vez que arranca aguardo soluções ...
sYnced Posted May 23, 2012 at 03:03 PM Report #457646 Posted May 23, 2012 at 03:03 PM else { lbl1="servidor ligado"; }
po1725 Posted May 23, 2012 at 03:13 PM Author Report #457652 Posted May 23, 2012 at 03:13 PM else { lbl1="servidor ligado"; } da igual ( as { } executa mais que uma linha código) mas continue a ajudar toda a informação é util
petvetbr Posted May 23, 2012 at 04:00 PM Report #457666 Posted May 23, 2012 at 04:00 PM (edited) qual o código que está antes deste trecho? especialmente em relação a conexão. Me parece que o seu "if" está correto, o problema é o estado da conexão como você mesmo mencionou aqui: com um breakpoint no 'coneccao.state.tostring()' está sempre no Close e nunca muda para o Open só decide o Open ou Close na 1º vez que arranca Edited May 23, 2012 at 04:00 PM by petvetbr Fernando Lage Bastos - MCP/MCTS/MCPD
Rechousa Posted May 23, 2012 at 04:33 PM Report #457682 Posted May 23, 2012 at 04:33 PM Viva, Olá, tenho um pequeno problema urgente! No Portugal-a-Programar não há problemas urgentes... assim por alto tenho uma label no form que diz se o servidor está ligado ou não mas só funciona na 1ª vez não sei o porquê Que tipo de servidor é que te referes? Servidor de base de dados? //Código contido dentro de um timer de 2 em 2 segundos actualiza O que é que o timer faz? Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
sYnced Posted May 24, 2012 at 10:39 AM Report #457818 Posted May 24, 2012 at 10:39 AM sim é melhor mostrares alguma parte do teu código.
po1725 Posted May 24, 2012 at 12:36 PM Author Report #457840 Posted May 24, 2012 at 12:36 PM (edited) Código é o seguinte: using mysql.data.mysqlclient; private void form1_load(object sender,eventargs e) { coneccao = new mysqlconnection("persist security info=false;"+"server=localhost;database=staffUI;uid=root"); } private void timer_tick(object sender,eventargs e) { if ( coneccao.state.tostring() == "Close" ) { lbl1.text="Servidor desligado"; } else lbl1="servidor ligado"; } Servidor de base dados tenho um timer a actualizar sempre de 2 em 2 segundos para o caso de o servidor cair aparecer logo o estado dele Edited May 24, 2012 at 12:36 PM by po1725
petvetbr Posted May 24, 2012 at 12:51 PM Report #457844 Posted May 24, 2012 at 12:51 PM Eu não estou vendo onde a conexão é aberta. Você tem em algum lugar um conneccao.Open()? Além disso você precisaria enviar algum comando no timer para a conexão não fechar por inatividade depois do tempo de timeout da conexão. Fernando Lage Bastos - MCP/MCTS/MCPD
po1725 Posted May 24, 2012 at 01:06 PM Author Report #457848 Posted May 24, 2012 at 01:06 PM não tenho o coneccao.open tenho apenas a verificar, como faria o comando para o timeout?
petvetbr Posted May 24, 2012 at 02:02 PM Report #457857 Posted May 24, 2012 at 02:02 PM O que está acontecendo é que você só está declarando a conexão, porém não está abrindo ela, por isto ela vai sempre ficar em Closed mesmo. O que você teria que fazer seria abrí-la usando coneccao.Open() e no Timer, você precisa enviar algum comando para manter a conexão aberta, já que as conexões com banco de dados tem timeout, e se fecham quando ficam algum tempo sem serem utilizados. No caso do MySQL poder ser algo como o comando: SELECT VERSION() ou qualquer comando simples, já que o objetivo é somente manter a conexão aberta. Fernando Lage Bastos - MCP/MCTS/MCPD
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now