Jump to content
Fórum Script Brasil

rodrigo_arf

Membros
  • Posts

    14
  • Joined

  • Last visited

About rodrigo_arf

rodrigo_arf's Achievements

0

Reputation

  1. Ola 'Xistyle' e para o pessoal do Forum aqui, seguinte: Encontrei o erro no meu codigo, como estou fazendo em tres camadas a minha classe DAL que acessa as informações do banco estava errado a seguinte função if (dbConn.Ler("BIN_IMG").ToString() != String.Empty) { System.Text.ASCIIEncoding Codificacao = new System.Text.ASCIIEncoding(); byte[] BytesDaImagem = Codificacao.GetBytes(dbConn.Ler("BIN_IMG").ToString()); objVisitante.BinarioDoArquivoDeImagem = BytesDaImagem; } else { objVisitante.BinarioDoArquivoDeImagem = null; } a função acima retornava errado uma variavel do tipo byte[] so que somente com 13 posições no array, por que creio que eu estava pegando os bytes de um conteudo de bytes so que no padrão ToString(). Pois o indice de itens do array de bytes é bem alto tipo byte[5634] e na função acima sempre retornava byte[13] ou seja parte da imagem e por isso dava o Erro de 'Parametro Invalido' de tando pesquisar e usar o Breakpoint do Visual Studio analisando esta tarde linha a linha cheguei a esta conclusão que essa linha estava errado agora segue a função correta; if (dbConn.Ler("BIN_IMG").ToString() != String.Empty) { byte[] BytesDaImagem = (byte[])dbConn.Ler("BIN_IMG"); objVisitante.BinarioDoArquivoDeImagem = BytesDaImagem; } else { objVisitante.BinarioDoArquivoDeImagem = null; } Veja que nesta linha simplemente dei um Cast '(byte[])dbConn.Ler("BIN_IMG");' ai funcionou de primeira. Bom mais uma empreitada finalizada depois de 2 dias de procura a solução. Valeu 'Xistyle' pela ajuda e ao pessoal deste forum. Segue alguns codigo de exemplo que podem ser uteis a outro programadores no dia a dia do projeto que estou fazendo. /// <summary> /// Converte a Imagem do tipo Image em byte[] /// </summary> /// <param name="_Imagem">Objeto do tipo Image</param> /// <returns>Retorna objeto byte[]</returns> public static byte[] ConverteImagemEmByteArray(Image _Imagem) { Image _ImagemClone = (Image)_Imagem.Clone(); MemoryStream _Memoria = new MemoryStream(); _ImagemClone.Save(_Memoria, System.Drawing.Imaging.ImageFormat.Jpeg); return (_Memoria.GetBuffer()); } /// <summary> /// Converte byte[] em Imagem do tipo Image /// </summary> /// <param name="_BytesDaImagem">Objeto do tipo byte[]</param> /// <returns>Retorna objeto do tipo Image</returns> public static Image ConverteByteArrayEmImagem(byte[] _BytesDaImagem) { MemoryStream _Memoria = new MemoryStream(_BytesDaImagem); Image _Imagem = Image.FromStream(_Memoria); return (_Imagem); } /// <summary> /// Converte byte[] em objeto do tipo Bitmap /// </summary> /// <param name="_BytesDaImagem">Objeto do tipo byte[]</param> /// <returns>Retorna objeto do tipo Bitmap (Imagens que trabalham com mapeamento de Pixels)</returns> public static Bitmap ConverteByteArrayEmBitmap(byte[] _BytesDaImagem) { MemoryStream _Memoria = new MemoryStream(_BytesDaImagem); _Memoria.Write(_BytesDaImagem, 0, _BytesDaImagem.Length); Bitmap _BitMap = new Bitmap(_Memoria); return (_BitMap); } Amigos ate a proxima Duvida !!! rrsss oubrigado mesmo... Rodrigo Contato: [email protected]
  2. Bom Dia Amigo toca mais uma vez nois aqui de novo, viu seguinte o erro pode estar aqui tambem não sei se voce concorda, na função que dou um Select no banco e pelo os campos que vou usar para exibir no form eu faço deste jeito para pegar as informações no caso a coluna BLOB do Oracle public List<Visitante> retVisitante(String CodigoDoVisitante, String NomeDoVisitante, String TipoBusca) { String sqlquery = String.Empty; List<Visitante> lstVisitante = new List<Visitante>(); if ((CodigoDoVisitante == String.Empty) && (NomeDoVisitante == String.Empty) && (TipoBusca == String.Empty)) { sqlquery = "SELECT A.COD_VISIT, A.NM_VISIT, A.ENDERECO, A.NUMERO, A.BAIRRO, A.CIDADE, A.ESTADO, A.CEP, A.DOC_RG, A.DOC_CPF, A.TELEFONE, A.CELULAR, TO_DATE(A.DTHR_NASC) AS DTHR_NASC, A.ARQ_IMG, A.BIN_IMG, A.DTHR_CAD FROM MED.SP_VISITANTE A ORDER BY 2 ASC"; } else if ((CodigoDoVisitante == String.Empty) && (NomeDoVisitante != String.Empty) && (TipoBusca != String.Empty)) { switch (TipoBusca) { case "1" : sqlquery = "SELECT A.COD_VISIT, A.NM_VISIT, A.ENDERECO, A.NUMERO, A.BAIRRO, A.CIDADE, A.ESTADO, A.CEP, A.DOC_RG, A.DOC_CPF, A.TELEFONE, A.CELULAR, TO_DATE(A.DTHR_NASC) AS DTHR_NASC, A.ARQ_IMG, A.BIN_IMG, A.DTHR_CAD FROM MED.SP_VISITANTE A WHERE A.NM_VISIT LIKE '" + NomeDoVisitante + "%' ORDER BY 2 ASC"; break; case "2" : sqlquery = "SELECT A.COD_VISIT, A.NM_VISIT, A.ENDERECO, A.NUMERO, A.BAIRRO, A.CIDADE, A.ESTADO, A.CEP, A.DOC_RG, A.DOC_CPF, A.TELEFONE, A.CELULAR, TO_DATE(A.DTHR_NASC) AS DTHR_NASC, A.ARQ_IMG, A.BIN_IMG, A.DTHR_CAD FROM MED.SP_VISITANTE A WHERE A.NM_VISIT LIKE '%" + NomeDoVisitante + "%' ORDER BY 2 ASC"; break; case "3": sqlquery = "SELECT A.COD_VISIT, A.NM_VISIT, A.ENDERECO, A.NUMERO, A.BAIRRO, A.CIDADE, A.ESTADO, A.CEP, A.DOC_RG, A.DOC_CPF, A.TELEFONE, A.CELULAR, TO_DATE(A.DTHR_NASC) AS DTHR_NASC, A.ARQ_IMG, A.BIN_IMG, A.DTHR_CAD FROM MED.SP_VISITANTE A WHERE A.NM_VISIT = '" + NomeDoVisitante + "' ORDER BY 2 ASC"; break; } } else if ((CodigoDoVisitante != String.Empty) && (NomeDoVisitante != String.Empty)) { sqlquery = "SELECT A.COD_VISIT, A.NM_VISIT, A.ENDERECO, A.NUMERO, A.BAIRRO, A.CIDADE, A.ESTADO, A.CEP, A.DOC_RG, A.DOC_CPF, A.TELEFONE, A.CELULAR, TO_DATE(A.DTHR_NASC) AS DTHR_NASC, A.ARQ_IMG, A.BIN_IMG, A.DTHR_CAD FROM MED.SP_VISITANTE A WHERE A.COD_VISIT = " + CodigoDoVisitante + " OR A.NM_VISIT LIKE '" + NomeDoVisitante + "' ORDER BY 2 ASC"; } using (ConectaOracle dbConn = new ConectaOracle(sqlquery, Configuracao.Conexao)) { Visitante objVisitante; dbConn.Open(); while (dbConn.LerRegistro()) { objVisitante = new Visitante(); objVisitante.CodigoDoVisitante = dbConn.Ler("COD_VISIT").ToString(); objVisitante.NomeDoVisitante = dbConn.Ler("NM_VISIT").ToString(); objVisitante.Endereco = dbConn.Ler("ENDERECO").ToString(); objVisitante.Numero = dbConn.Ler("NUMERO").ToString(); objVisitante.Bairro = dbConn.Ler("BAIRRO").ToString(); objVisitante.Cidade = dbConn.Ler("CIDADE").ToString(); objVisitante.Estado = dbConn.Ler("ESTADO").ToString(); objVisitante.Cep = dbConn.Ler("CEP").ToString(); objVisitante.DocumentoRg = dbConn.Ler("DOC_RG").ToString(); objVisitante.DocumentoCpf = dbConn.Ler("DOC_CPF").ToString(); objVisitante.Telefone = dbConn.Ler("TELEFONE").ToString(); objVisitante.Celular = dbConn.Ler("CELULAR").ToString(); if (String.IsNullOrEmpty(dbConn.Ler("DTHR_NASC").ToString())) { objVisitante.DataDeNascimento = String.Empty; } else { objVisitante.DataDeNascimento = dbConn.Ler("DTHR_NASC").ToString().Substring(0, 10); } if (dbConn.Ler("BIN_IMG").ToString() != String.Empty) { System.Text.ASCIIEncoding Codificacao = new System.Text.ASCIIEncoding(); byte[] BytesDaImagem = Codificacao.GetBytes(dbConn.Ler("BIN_IMG").ToString()); objVisitante.BinarioDoArquivoDeImagem = BytesDaImagem; } else { objVisitante.BinarioDoArquivoDeImagem = null; } objVisitante.DataDeCadastro = dbConn.Ler("DTHR_CAD").ToString(); lstVisitante.Add(objVisitante); } } return (lstVisitante); } Somente explicando rapidamente essa função retorna um List<Visitante> contendo variso objetos para eu exibir no DataGrid do form, essa função da entrada no banco no caso um Select e quando vai pegar o campo que contem Bynarios da Imgem eu faço a seguinte instrução que eu acho que esteja errado né: if (dbConn.Ler("BIN_IMG").ToString() != String.Empty) { System.Text.ASCIIEncoding Codificacao = new System.Text.ASCIIEncoding(); byte[] BytesDaImagem = Codificacao.GetBytes(dbConn.Ler("BIN_IMG").ToString()); objVisitante.BinarioDoArquivoDeImagem = BytesDaImagem; } else { objVisitante.BinarioDoArquivoDeImagem = null; } onde a linha dbConn.Ler("BIN_IMG").ToString() é o campo da tabela onde tem o BLOB contendo os bynarios quando pelo ele utilizo o objeto 'System.Text.ASCIIEncoding' com o metodo 'GetBytes' para preencher minha variavel 'BytesDaImagem' não sei se o erro pode estar ai nesta linha, antes disso ate a parte que salva no banco esta tudo OK. bom vou tentar o que você me disse no poste anterior a essa resposta... pois ainda não tentei... breve posto aqui o ocorrido. :)...
  3. Aparentemente sim, rsss, por que quando dou um select na tabela pelo PL/Sql e clico duas vezes na celula da coluna que é o campo BLOB o proprio PL me mostra em uma janela com algumas abas onde posso ver a Imagem, o codigo Binario com Hexa em fim... Tipo pelo que estou achamando não sei se é o tipo de Hexa se é 64 já esta parte não entendo muito, não sei se pode ser isso. mas segue algumas funções: Essa esta correta e em uso: public static byte[] ConverteImagemEmByteArray(Image _Imagem) { Image _ImagemClone = (Image)_Imagem.Clone(); MemoryStream _Memoria = new MemoryStream(); _ImagemClone.Save(_Memoria, System.Drawing.Imaging.ImageFormat.Jpeg); return (_Memoria.GetBuffer()); } Essa é a que contem o erro 'Parametro Invalido' public static Image ConverteByteArrayEmImagem(byte[] _BytesDaImagem) { Image _ImagemDoArray; MemoryStream _Memoria = new MemoryStream(_BytesDaImagem); _ImagemDoArray = Image.FromStream(_Memoria); return (_ImagemDoArray); } O erro que retorna do Visual Studio 2010 é esse abaixo. minha classe tipada é essa abaixo: public class Visitante : ICloneable { public String CodigoDoVisitante { get; set; } public String NomeDoVisitante { get; set; } public String Endereco {get; set;} public String Numero { get; set; } public String Bairro { get; set; } public String Cidade { get; set; } public String Estado { get; set; } public String Cep { get; set; } public String DocumentoRg { get; set; } public String DocumentoCpf { get; set; } public String Telefone { get; set; } public String Celular { get; set; } public String DataDeNascimento { get; set; } public String NomeDoArquivoDeImagem { get; set; } public byte [] BinarioDoArquivoDeImagem { get; set; } public String DataDeCadastro { get; set; } public object Clone() { Visitante objVisitate = new Visitante(); objVisitate.CodigoDoVisitante = this.CodigoDoVisitante; objVisitate.NomeDoVisitante = this.NomeDoVisitante; objVisitate.Endereco = this.Endereco; objVisitate.Numero = this.Numero; objVisitate.Bairro = this.Bairro; objVisitate.Cidade = this.Cidade; objVisitate.Estado = this.Estado; objVisitate.Cep = this.Cep; objVisitate.DocumentoRg = this.DocumentoRg; objVisitate.DocumentoCpf = this.DocumentoCpf; objVisitate.Telefone = this.Telefone; objVisitate.Celular = this.Celular; objVisitate.DataDeNascimento = this.DataDeNascimento; objVisitate.NomeDoArquivoDeImagem = this.NomeDoArquivoDeImagem; objVisitate.BinarioDoArquivoDeImagem = this.BinarioDoArquivoDeImagem; objVisitate.DataDeCadastro = this.DataDeCadastro; return (objVisitate); } public override string ToString() { return (CodigoDoVisitante + " - " + NomeDoVisitante); } } já não sei mais o que faço... rsss :) que coisa não... Mas continuo procurando se alguém tiver sugestoes por favor me mande...
  4. Puts cara infelizmente deu, o erro permanece: 'Parâmetro Invalido'... não sei o que pode ser... :(...
  5. Bom Dia Pessoal, Bom é o seguinte a 3 dias estou desenvolvendo um projeto em trabalho relacionado a webcans, em Windows Forms, Framework 3.5, Visual Studio 2010. já a base de dados é Oracle, com PL/Sql. O que acontece é o seguinte, eu tiro uma foto do visitante e Converto essa imagem em Byte[] e salvo no Oracle em uma tabela que tem um campo já configurado como BLOB para armazenar grandes quantidades de dados, bom isso esta OK pois estou salvando corretamente a imagem imagem e pela ferramenta PL/Sql eu ate consigo ver a Fotinho do miliante la. O Problema é que quando eu dou um Select nesta tabela e pego as informaçoes para exibir em um Form esta dando problema para Converter os Bynarios (byte[]) em Imagem do tipo (Image) para exibir em uma PictureBox, a verdade é que procurei em todos os Foruns e teste tambem varios exemplos e não cheguei a uma resposta convincente nem a solução deste problema. o erro é "Parametro Invalido"; meu codigo é esse: public static Image ConverteByteArrayEmImagem(byte[] _BytesDaImagem) { Image _ImagemDoArray; using (MemoryStream _Memoria = new MemoryStream(_BytesDaImagem, 0, _BytesDaImagem.Length)) { _Memoria.Write(_BytesDaImagem, 0, _BytesDaImagem.Length); _ImagemDoArray = Image.FromStream(_Memoria, true,true); } return (_ImagemDoArray); } a linha que da o erro é essa : _Memoria.Write(_BytesDaImagem, 0, _BytesDaImagem.Length); Depois disso mudei algumas coisas mas da o mesmo erro, estou usando 'ImageConverter' : ImageConverter ConversorDeImagem = new ImageConverter(); Image ImagemGerada = (Image)ConversorDeImagem.ConvertFrom(objVisitante.BinarioDoArquivoDeImagem); Não sei onde pode ser, a unica certesaque tenho é que a os Bynarios da Imagem esta la certinho na tabela pois quando exibo pelo PL/Sql ele mostra a imagem para mim direto dos Bytes. Minhas suspeitas era de não tivem todos os Bytes na tabela por algum motivo mas não é. Outra Suspeita é na hora de dar o Select na tabela ele por algum motivo retornar itens do byte[] errados ou faltando alguma coisa em fim. fora isso não sei mais o que pode ser. Se algum já passou por isso ou quiser dar uma dica do que fazer estou a ouvidos.... : )... meu MSN é [email protected] Sou Desenvolvedor de Sistemas .NET com 4 anos de experiencia, quem quiser me adicionar.
  6. 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 '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 isso se o sistema não ficar uma aranha !!!! rsss Aguardo Posts Periodicamente Abraços...
  7. Ola amigos.... Minha duvida é a seguinte não consigo fazer o Preview da Imagem depois que do o caminho dela para anexa-la no meu site isso porem acontece no Firefox no IE o Preview Funciona normalmente, creio que devo adaptar meu JS para o Firefox mas que parametros mudo ou adiciono, segue abaixo o codigo; Codigo JS : <script> function adiciona(ac){ var FrmAdiciona = document.frmAdicionarImagem; FrmAdiciona.acao.value= ac ; FrmAdiciona.method= "post"; FrmAdiciona.action ="xp_adiciona_imagem.asp"; FrmAdiciona.submit(); } function ExibePreview(nome){ document.getElementById("PreviewImagem").style.display=""; document.getElementById("PreviewImagem").src=nome; } </script> Codigo do Input Text da pagina e do img : <tr> <td width="140" align="right"><label for="fleCategoriaConteudoImagem_Nome" title="Imagem" id="fleCategoriaConteudoImagem_Nome"> <span class="TextoCiza">Imagem</span>:</label></td> <td width="10">&nbsp;</td> <td><input type="file" name="fleCategoriaConteudoImagem_Nome" class="bordaCinzaFundoEscuro" onFocus="java script: this.className='bordaCinza';" onBlur="java script: this.className='bordaCinzaFundoEscuro';" size="40" onChange="java script: ExibePreview(this.value);" id="fleCategoriaConteudoImagem_Nome"></td> </tr> <tr> <td align="right" class="textoCinza">&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr align="center"> <td colspan="3" class="textoVermelho"><b>| Preview da Imagem</b></td> </tr> <tr> <td align="center" class="textoVermelho">&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr align="center"> <td colspan="3" class="textoVermelho"> <img name="PreviewImagem" width="156" height="118" id="PreviewImagem" style="display:none;"></td> </tr> Torno avisar queno IE isso funciona nomalmente so no Firefox que não Atenciosamente
  8. Obrigado Marcio Agora creio que sei me virar... vlw mesmo... é que agora realmente estou tendo que programar em ASP na empresa pois esse não era meu posto... rss... assumi uma bronca... portanto... rss mas ainda existem pessoas boas neste mundo.... Muito Agradecido Marcio vlw...
  9. Ultima Coisa rss Encontrei este codigo na net e como eu coloco ele em Minha pagina - Substituindo o apóstrofe(') pelo duplo apóstrofe ('') <% Function ExpurgaApostrofe(texto) ExpurgaApostrofe = replace( texto , "'" , "''") End function %> - Substituindo os caracteres e palavras maliciosas por vazio(""). <% Function LimpaLixo( input ) dim lixo dim textoOK lixo = array ( "select" , "drop" , ";" , "--" , "insert" , "delete" , "xp_") textoOK = input for i = 0 to uBound(lixo) textoOK = replace( textoOK , lixo(i) , "") next LimpaLixo = textoOK end Function %> - Rejeitando os dados maliciosos: <% Function ValidaDados( input ) lixo = array ( "select" , "insert" , "update" , "delete" , "drop" , "--" , "'") ValidaDados = true for i = lBound (lixo) to ubound(llixo) if ( instr(1 , input , lixo(i) , vbtextcompare ) <> 0 ) then ValidaDados = False exit function} end if next end function %> Minha verificação é essa aqui em baixo so preciso de uma função que compare quando o cara digitar tudo maiusculo com os dados do banco entende... tipo se eu digitar agora User e Pass maiusculo ele se loga issso não pode acontecer.... segue meu codigo a baixo... link da pagina rodando www.subaquatica.com.br/thabis <% var_ip = Request.ServerVariables("REMOTE_ADDR") var_data = Date var_hora = Time var_username_e = Request.Form("txt_username") var_password_d = Request.Form("txt_password") 'raplace as variaveis para minusculo var_username = LCASE(var_username_e) var_password = LCASE(var_password_d) 'replace no Username var_username = replace(var_username,"'","''") var_username = replace(var_username,"#","''") var_username = replace(var_username,"$","''") var_username = replace(var_username,"%","''") var_username = replace(var_username,"¨","''") var_username = replace(var_username,"&","''") var_username = replace(var_username,"'or'1'='1'","''") var_username = replace(var_username,"--","''") var_username = replace(var_username,"insert","''") var_username = replace(var_username,"drop","''") var_username = replace(var_username,"delet","''") var_username = replace(var_username,"xp_","''") var_username = replace(var_username,"select","''") var_username = replace(var_username,"*","''") 'replace no Password var_password = replace(var_password,"'","''") var_password = replace(var_password,"#","''") var_password = replace(var_password,"$","''") var_password = replace(var_password,"%","''") var_password = replace(var_password,"¨","''") var_password = replace(var_password,"&","''") var_password = replace(var_password,"'or'1'='1'","''") var_password = replace(var_password,"--","''") var_password = replace(var_password,"insert","''") var_password = replace(var_password,"drop","''") var_password = replace(var_password,"delet","''") var_password = replace(var_password,"xp_","''") var_password = replace(var_password,"select","''") var_password = replace(var_password,"*","''") 'muda o nome das variaveis Session("usern") = var_username Session("passw") = var_password 'execução dos comandos strPath = Server.MapPath("dados\banco.mdb") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";" Set objRec = Server.CreateObject("ADODB.RecordSet") strSql = "SELECT Nome, Username, Password from tab_users where Username = '"& Session("usern") &"' and Password = '"& Session("passw") &"'" if Session("usern") <> "" and Session("passw") <> "" then objRec.Open strSql, objConn if objRec.EOF then Session("ThabisAcesso") = "no" Response.Redirect "erro.asp" objConn.Close objRec.Close Set objConn = Nothing Set objRec = Nothing else Session("ThabisAcesso") = "yes" Session("Nome") = objRec("Nome") 'Response.Cookies("Thabis Technology") = objRec("Nome") strSql_1 = "INSERT INTO tab_acessos (Nome, DataAcesso, IpUser, HoraAcesso) values('"& Session("Nome") &"','"& var_data &"','"& var_ip &"','"& var_hora &"')" 'strSql_2 = "INSERT INTO tab_sessao (Nome, HoraAcesso) values('"& Session("Nome") &"','"& var_hora &"')" Set objRec = objConn.Execute(strSQL_1) 'Set objRec = objConn.Execute(strSQL_2) Response.Redirect "entrando.asp" objConn.Close objRec.Close Set objConn = Nothing Set objRec = Nothing end if else Response.Redirect "erro.asp" end if %>
  10. Bom Dia Marcio Quero agradecer desde já sua atenção, bom duvidas a gente sempre tem... umas aqui outra a lí mas a gente vai sanando... rsss vlw pela ajuda... qualquer duvida posto aqui... Brevemente rsss Obrigado... Rodrigo
  11. Ola Marcio O que você postou é de grande serventia para mim pude aprender mais, o que eu queria saber agora se eu faço isso tudo sem uso do banco, tipo não preciso armazenar nada em tabelas do banco, e outra duvida em todas as paginas a não ser o login eu tenho que colocar o trecho: <% If Session("ThabisAcesso") <> True then Response.Write("você deve se logar primeiro para ter acesso aos serviços do sistema.") Else %> <html> Codigo HTML ... Codigo HTML ... Codigo HTML ... Codigo HTML ... </html> <% End If %> você Teria ai um exemplo de "global.asa" é que eu realmente estou num empresa em que o unico que aguenta as coisas aqui esta sendo eu, ultimamente e tenho que elaborar este projeto citado no primeio post meu. Mas de qualquer forma obrigado! pela atenção. Desculpe pela fonte deste texto sair piquena é que eu mexi aqui e não arrumei igual a do primeiro post rssss Atenciosamente
  12. Boa Tarde Amigos... :) Estou desenvolvendo um sistema e preciso mostrar a cada usuario que efetua o Login os "nomes" dos usuarios online queria implementar uma rotina se possivel para atualizar a minha tabela em banco de dados Access a cada 30 segundos ou 1 minuto creio que não é muito dificil mas estou apanhando um pouco. Minha tabela de usuários online se chama "tab_sessao" onde os campos são so "Nome" e "HoraAcesso". O "X" da questão é esse quando o usuario for redirecionado para a pagina Home ou seja a pagina inicial que exiba ele e os outros usuarios online tambem logo abaixo do menu. Como já disse meu banco é Access e para essa amostragem de usuarios online eu criei uma tabela chamada "tab_sessao" vocês podem acessar o sistema atual funcionado neste link "http://www.subaquatica.com.br/thabis/" o sistema já faz isso mas esta sem consistencia entende esta feito do modo incorreto e eu precisava fazer essa parte de um modo correto. E por ultimo se acessarem o sistema, quando forem sair dele por favor cliquem em "Logoff" pois so assim que ele deleta a Sessão da pessoa, se fecharmos a janela durante a sessão, o Nome e a Hora de Acesso ficam na tabela que eu citei ai em cima. Preciso tambem ver a questão de segurança das Urls para nenhuma pessoa digitar a Url de pagina interna de usuario e o sistema levar mesmo assim. Se possivel acessem o site no IE pois no FF minhas classe em CSS estão todas distorcidas, não sei qual da mais trabalha para um programador ASP o IE ou o FF... Atenciosamente Rodrigo :rolleyes:
  13. Bom Valeu é que eu já deletei ... tudo fiquei cançado de tanto tentar scripts e estou refazendo de novo qual quer coisas posto novas duvidas.... Obrigado !!! mesmo a proposito alguém tem um menu em Java Script com aquele sinalzinho de (+) do lado que quando abre ele fica menos (-) estou penando para criar um e que quando clicado ele abra mas não do lado abra em baixo do link clicado impurrando os outros de baixo para um pocuo mais baixo entendeu rsss não é dificil de se imaginar.... mas estou penado para criar.... se alguém tiver manda ai Por favor nem que seja um Rascunho.... Obrigado mesmo....
  14. Minhas paginas estao diferentes entre os navegadores IE e FireFox no que diz a respeito a Tabelas, como faço para deixalas iguais existe algum script para deixar as tabelas iguais nos dois navegadores, no IE meu site esta da hora e no Firefox esta uma Coisa Horrivel. E o menu que eu montei drop-down pegar certinho no IE mas no Fire fox não , alguma solução para isso ou tenho que fazer duas paginas para cada pagina que eu for criar do meu site e dai faço uma função que habilita qual sitema usar segundo o navegador como resolver essa incompatibilidade... ??? Ate mais
×
×
  • Create New...