Dj Mib refletindo!
As vezes me sinto perdido, sem conseguir decifrar até os meus sentimentos. Mais estando com a presença de quem eu amo… Tudo é claro, tudo é música!
Ass.: Dj Mib B-)
As vezes me sinto perdido, sem conseguir decifrar até os meus sentimentos. Mais estando com a presença de quem eu amo… Tudo é claro, tudo é música!
Ass.: Dj Mib B-)
Que doideira de título, para postagem em um blog, é esse? Caso você não saiba, pode não se interessar, já que este post é para comentar um erro que vem sendo comum para programadores em ASP. Não conhece? Pule esse post!
Eu costumava usar ASP com ACCESS, até que migrei tudo para o MySQL. Então passei a ter problemas com o ASP para retornar o número de registros em um requisição do banco de dados e até para criar uma paginação. Isso porque a propriedade RecordCount do RecordSet só trazia o valor “-1″ e não o número de registros retornado. E percebi que isto não só acontece com o MySQL, pois vem acontecendo com outros banco de dados.
Muita gente resolve o problema de contagem de registros, usando a função COUNT do próprio SQL (“select count(*) as totalRegistros from tabela”). Isso até que resolve, mais acabamos criando uma consulta a mais. Para fazer a paginação, no caso do MySQL, podemos, e é até aconselhável, utilizar pelo próprio SQL usando a função LIMIT (“select campos from tabela limit 1,20″).
Uma solução definitiva, mais rápida e só utilizando uma requisição seria definir corretamente o CursorLocation. Pois podemos e até devemos, definir tipos de cursor numa requisição, assim como também o local e tipo de trava. Isso nos ajuda em desempenho nos programas que estaremos criando.
No padrão e geralmente, o CursorLocation é utilizado com o valor 2 (adUseServer), ao qual utiliza a requisição no lado do servidor. Este cursor é aconselhável mais para requisições onde fazemos alguma alteração (criar, apagar, deletar, atualizar). E para o RecordCount funcionar perfeitamente em qualquer banco de dados, devemos utilizar o CursorLocation com valor 3 (adUseClient), ao qual utiliza a requisição no lado do cliente. Este cursor é aconselhável mais para requisições estáticas que só trazem informações de leituras e sem alteração e é mais rápido do que o do lado do servidor.
Então vejamos agora um código de consulta, usando o cursor correto e o RecordCount funcionando perfeitamente para qualquer banco suportado:
'Declarando e Criando objetos para o Banco de Dados em ASP
dim adoBD, rsBD
set adoBD = server.createObject("ADODB.Connection")
set rsBD = server.createObject("ADODB.Recordset")
'configurando o recordset rsBD.CursorType = 0 'o mais rápido e somente para leitura para frente, sem retornar rsBD.CursorLocation = 3 'mais rápido e permiti recordCount rsBD.LockType = 1 'tipo de trava mais usada e rápida
'abrindo conexão e requisição adoBD.open = "String de Conexão" 'alterar para sua string rsBD.activeConnection = adoBD rsBD.source = "Comando SQL" 'alterar pelo comando sql desejável rsBD.open
'a partir de agora só recuperar as informações e registros response.write rsBD.recordCount 'retorna o número de registros rsBD.pageSize = 10 'define paginação em 10 em 10 registros response.write rsBD.pageCount 'retorna o número de paginas
'Fechando e destruindo objetos do Banco rsBD.close adoBD.close set rsBD = nothing set adoBD = nothing
Então acima, vimos como é feito o código para fazer uma simples consulta funcionando o RecordCount e entre outras propriedades do RecordSet.
Creio que agora já tenho dado uma boa dica ou pelo menos uma luz, no final do túnel. Pois eu mesmo fiquei anos procurando essas informações, e só fui achar a solução a pouco tempo, em um dos meus testes e pesquisas.
Ass.: Dj Mib B-)
Estou agora em fase de renovações de serviços, ao qual passo a realizar mudanças. Fiz uma análise sobre minha pessoa, e vejo que andei testando muita coisa e ao mesmo tempo não publicando os resultados. Com isso eu agora passei a renovar em tudo, já que seria nada mais do que mostrar o que aprendi e como e a qualidade em que cheguei com tudo que passei.
Foram vários anos com preocupações, pesquisas, estudos e estamos chegando ao resultado. Já até coloquei no meu site, um teste de fundo em vídeo, podem verificar no www.djmib.net. Fora outros projetos que já estou colocando em prática… mais que chato, só falo e não mostro as práticas… Vamos agir, vamos agir!
Uma imagem para descontrair:
Ass.: Dj Mib B-)
Minhas asas estão fechadas? Sim estão… para que eu possa aprender a voar sem necessariamente usá-las. E isso sempre acontece, ao estar com quem tocou meu coração!
Ass.: Dj Mib B-)
É… hoje eu vindo para casa, tinham dois cachorros atacando o gato… que covardia… joguei a bicicleta para cima dos dois e botei para correr… DJ Meu heróis… que nada o gato se viu livre e correu aliviado!
Ass.: Dj Mib B-)
"aquele beijo que te dei, eu nunca mais esquecerei…" É possível sentir o beijo de quem você ama a distância? Não dê respostas, só porque nunca experimentou! Eu digo sim!
Ass.: Dj Mib B-)
Se você acha que eu desafino amor… é que não me viu cantando de baixo do chuveiro, com água gelada no mais frio dos invernos e de madrugada.
Ass.: Dj Mib B-)
Não! Não me faça feliz porque eu te amo… apenas complemente toda minha felicidade por poder te amar! Feliz eu já sou comigo mesmo… você vem para somar e podermos compartilhar!
Ass.: Dj Mib B-)
Enquanto todos correm, eu procuro apreciar tudo que passa… fico admirando… quando necessário eu corro, mais com o algo amais que admirei e me encantou e recarregou as forças!
Ass.: Dj Mib B-)
Desafio? Problemas? Perguntas? … não tenho medo… não por ser mais forte ou inteligente que alguém… mais por saber que posso fazer o melhor possível para resolver… Força de vontade não me falta!
Ass.: Dj Mib B-)