Minha duvida é a seguinte ! Tenho um sistema em Asp, e o Banco de dados é
Access nele tenho uma Tabela chamada UsuariosOnline e contem os seguintes
campos User_Online_ID, User_Pri_Nome, User_Id, User_Hora. Bom ate ai tudo
certo a questão é a seguinte !!
Preciso de uma Função vejam bem Funtion rsss em Asp que rode internamente
e delete desta tabela todos os Usuarios online que passaram de 1 hora
na Tabela no campo User_Hora os dados são gravados como Texto desse jeito
exemplo: 14:23:12 correto! bom nesta Function tenho que dar um SELECT na
Tabela e Depois DELETAR todos da tabela que já tenham passado de 1 hora,
da hora de acesso ou seja da hora que ele se logou no sistema...
Particularmente é a Hora de acesso menos a Hora Atual mas como faço se
o Usuário iniciou seu acesso por exemplo as 23:35:12 e tera que ser desconectado
do sistema as 00:35:12 correto! mas como monto essa Function com todas as verificações
corretas heheheh essa é a parte dificil, entendem alem de pegar os dados do SELECT e
trata-los pois estão com ":" no meio e estão no formato Texto como disse antes
So reforçando! esta função tera que rodar por exemplo a cada 30 minutos internamente
na verdade, na area administrativa do sistema tera um campo para o Administrador colocar
o intervalo que ele queira que execute esta function ai ele clicando no botão alterar
que tera na pagina esta function recebe este valor e começa a executar neste intervalo de
tempo entendemmm
OBS: O parametro que a função ira receber vira do banco exemplo
30, 20, 60 esse numeros a função executara de intervalo
em intervalo depende do que o Usuario cadastrar no Admin do
Sistema. Ex: de 30 em 30 minutos, de 20 em 20 minuto...
Esta função ainda não esta chamando do banco...
Segue o Começo da Função ai mas tem muita coisa a fazer
'Função de Tarefa autoexecutavel,
'Limpa UsuariosOnline com mais de
'1 hora ou seja 60 segundos
Function LimpaUsuariosOnline()
'Pega os valores da Tabela
Set rsResgataHora = Server.CreateObject("ADODB.Recorset")
strResgataHora = "SELECT * FROM UsuariosOnline"
rsResgataHora.Open strResgataHora, conexao
'Trata os Valores
varHorario = rsResgataHora("User_Hora")
arrHoraMinSec = Split(varHorario,":")
varHoraAntigo = Cint(arrHoraMinSec(0))
varMinuAntigo = Cint(arrHoraMinSec(1))
varSecoAntigo = Cint(arrHoraMinSec(2))
varNumeroAntigo = varHoraAntigo&varMinuAntigo&varSecoAntigo
'Pega a Hora Atual
varHoraAtual = Cint(Hour(Now))
varMinuAtual = Cint(Minute(Now))
varSecoAtual = Cint(Second(Now))
varNumeroAtual = varHoraAtual&varMinuAtual&varSecoAtual
'Subtrae a hora atual pela hora de acesso
if varNumeroAtual > varNumeroAntigo then
varResultado = varNumeroAtual - varNumeroAntigo
else
varResultado = varNumeroAntigo - varNumeroAtual
end if
'Continua a tratar a variavel varResultados com a Função
'Left() para colocar os ":" no meio e ai sim comparar e deletar do banco
'os Usuarios que passaram de 1 hora ou 60 segundos no sistema.
'Contitua...
End Function
Ufa!!! é Uma tarefa para o Super Man... ou o Home Aranha!!! rsss
Pergunta
rodrigo_arf
Ola Amigos
Sou Desenvolvedor em Asp.
Minha duvida é a seguinte ! Tenho um sistema em Asp, e o Banco de dados é
Access nele tenho uma Tabela chamada UsuariosOnline e contem os seguintes
campos User_Online_ID, User_Pri_Nome, User_Id, User_Hora. Bom ate ai tudo
certo a questão é a seguinte !!
Preciso de uma Função vejam bem Funtion rsss em Asp que rode internamente
e delete desta tabela todos os Usuarios online que passaram de 1 hora
na Tabela no campo User_Hora os dados são gravados como Texto desse jeito
exemplo: 14:23:12 correto! bom nesta Function tenho que dar um SELECT na
Tabela e Depois DELETAR todos da tabela que já tenham passado de 1 hora,
da hora de acesso ou seja da hora que ele se logou no sistema...
Particularmente é a Hora de acesso menos a Hora Atual mas como faço se
o Usuário iniciou seu acesso por exemplo as 23:35:12 e tera que ser desconectado
do sistema as 00:35:12 correto! mas como monto essa Function com todas as verificações
corretas heheheh essa é a parte dificil, entendem alem de pegar os dados do SELECT e
trata-los pois estão com ":" no meio e estão no formato Texto como disse antes
So reforçando! esta função tera que rodar por exemplo a cada 30 minutos internamente
na verdade, na area administrativa do sistema tera um campo para o Administrador colocar
o intervalo que ele queira que execute esta function ai ele clicando no botão alterar
que tera na pagina esta function recebe este valor e começa a executar neste intervalo de
tempo entendemmm
OBS: O parametro que a função ira receber vira do banco exemplo
30, 20, 60 esse numeros a função executara de intervalo
em intervalo depende do que o Usuario cadastrar no Admin do
Sistema. Ex: de 30 em 30 minutos, de 20 em 20 minuto...
Esta função ainda não esta chamando do banco...
Segue o Começo da Função ai mas tem muita coisa a fazer
Ufa!!! é Uma tarefa para o Super Man... ou o Home Aranha!!! rsss
isso se o sistema não ficar uma aranha !!!! rsss
Aguardo Posts Periodicamente
Abraços...
Link para o comentário
Compartilhar em outros sites
1 resposta 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.