Ir para conteúdo
Fórum Script Brasil
  • 0

verificar se estou conectado na net, da pau na conexão do sql server


flavioavilela

Pergunta

bom dia a todos, estou usando o seguinte código para verificar se a internet está conectada:

function Verifica_Status_Rede: boolean;
var
  flag: PDWord;
begin
  if not InternetGetConnectedState(@flag, 0) then
    Result:= false
  else
    Result:= true;
  end;
end;

só que, caso eu tenha alguma query ou um clientdataset(estou usando xml) alimentada com dados, ele da a seguinte mensagem: "[DBNETLIB][ConnectionWrite (send()).]Erro geral de rede. Verifique a documentação da rede"... se eu verifico a rede sem ter nenhum dado alimentado já, ele funciona (não estou alimentando dados do bd juntamente com a função, eu alimento os dados antes de verificar se tem rede)....

alguém pode ajudar?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

bom pessoal, depois de muita labuta, consegui fazer... ficou meio sem lógica rsrsrs, mas deu certo:

function Verifica_Status_Rede: boolean;
var
  flag: PDWord;
  qAux: TADOQuery;
begin
  Result:= true;
  try
    qAux:= TADOQuery.Create(nil);
    dm.ADOConnection1.Connected:= false;
    dm.ADOConnection1.ConnectionString:= PWideChar('Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='+UGeral.banco+';Data Source='+UGeral.servidor+'');
    try
      dm.ADOConnection1.Connected:= true;
      //fazendo uma requisição no banco... poderia ser qualquer tabela, apenas para ver se conecta
      with qAux, sql do
      begin
        close;
        Connection:= dm.ADOConnection1;
        clear;
        add('select CU.Codigo from Cadastro_Usuario CU');
        open;
      end;
      ShowMessage('conectou');
    except
      Result:= false;
    end;
  Finally
    FreeandNil(qAux);
end;

como puderam ver, eu fecho a conexão, abro novamente e faço uma requisição... ai, se não tiver rede, ele cai no except.... se eu não colocasse essa requisição ai, uma simples consulta que seja, ele passa como tivesse conectado e da pau no decorrer dos códigos... então, essa requisição é só para ver se está conectado mesmo... se não, vai pro except...

está ai minha solução, para quem precisar....

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...