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

Getrows, Você Conhece? Um Site Usando Só Ele? ã?


[ GuTo ]

Pergunta

Salve ASP maníacos.

Tenho a seguinte pergunta à lhes fazer, mas antes.

Vocês sabem o que é o GetRows não é mesmo?!

Imaginando então que vocês conheçam, eu lhes pergunto:

O que vocês acham de um site grande, imaginem um orkut + fórum invision integrados e relacionados, e em todas as páginas, usando só GetRows?

Coloquem suas opniões sobre como acham que este site vai ser quanto a diversos fatores (performance, segurança, etc), se vocês vêem algum problema nisso ou não, enfim, o que acharem.

Desde já agredeço a atenção de todos vocês. biggrin.gif

Até mais,

abraços!

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Meu, aqui na minha empresa nós somente trabalhamos com array, o recordset aqui foi totalmente abolido. Nós temos sites grandes, e-commerce, catálogos de produtos, sistema de estatísticas e tudo o que tiver direito e nunca tivemos problemas, pelo contrário, melhoramos o desempenho e eu prefiro 1000 vezes manipular um array do que um recordset.

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado aí felipe pela sua colobaração!

Se tiver quiser acrescentar mais alguma coisa, por favor, sinta-se à vontade biggrin.gif

E os moderadores? Não tem uma opnião? ph34r.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Eu só uso GetRows em projetos de médio a grande porte (infelizmente não tem aparecido muitos desses), acho que devido a vicio mesmo, a gente acaba se acostumando ao famoso While/NoveNext/loop.

Com relação a performance e segurança, acho o GetRows bem superior, pois voce passa a trabalhar com apenas a matriz gerada, fechando o recordset e a conexão com o banco, o que obviamente melhora a performance e preserva o BD.

Com relação a facilidade de manipulação, não vejo muita diferença, pois sempre usei bastante arrays em meus códigos desde o tempo do basic, clipper e por ai vai.

é uma pena eu não ter muita experiencia com o método para poder debater mais o assunto.

Aproveito, para parabenizar-lhe pela iniciativa de abrir tal discussão, pois é isso que é um forum, um grupo de discussão e não só um tira duvidas (nada contra as duvidas), mais acho importante a troca de experiencias e acredito que esse seja o lugar.

[]'s

Cyberalexxx

Link para o comentário
Compartilhar em outros sites

  • 0

Bom faz uns 2 meses que utilizo o getrows e achei bem melhor, só que como o cyber disse o vicio fala mais alto e quando vejo já usei o rs.movenext e já era...rsss

Mas estou gostando bastante dele, sobre manipular, diria que não a muita diferença co o select convencional, porque acabo perdendo mesmo tempo em declarar os dados, não é uma diferença radical, mas o metodo eu achei bem melhor e bem mais rapido sim, infelizmente não peguei ainda alguma pagina que realmente va utilizar muito dados pra ver a diferença de performace, mas em breve vou ter a chance de fazer isso...

Algo bom é poder fazer dados randomicos, com array é muito mais facil e funcional, com 4 linhas eu faço ele gerar registros aleatorios, coisa que com um select normal, teria que fazer um codigo maior alem que poderia dar erro e se fosse prevenir o erro iria mais umas linhas...rss

deixa parar de falar ahahah

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Um dos maiores benefícios que eu senti com a utilização dos arrays foi o reaproveitamento de código. Há módulos que eu somente troco o select, tiro ou ponho 1 ou 2 colunas e já tá pronto, como você trabalha com o número do índice, você só tem q se preocupar com a ordem dos campos na criação dos selects, sem ficar utilizando o nome do campo no recordset.

Link para o comentário
Compartilhar em outros sites

  • 0

Isso mesmo.

O GetRows é bom que dá mais performance e tal.

Antes de dar valores ao array/vetor/dataset/matriz, como queiram, é bom abrir um recordset que seje específico para o q você quer fazer, refiro-me ao cursor e tipo de trava.

O GetRows também é muito bom, como já foi dito pelo felipefrancesco:

você só tem q se preocupar com a ordem dos campos na criação dos selects, sem ficar utilizando o nome do campo no recordset.

Também é bom porque nos acostumamos a apenas selecionar os campos dos quais precisamos. O que gera uma consulta menor, que gera mais performance.

Enfim, eu não vejo problema.

Já ouvi dizerem que tem problema para sites grandes, pois os dados são pegos e guardados no array (enfim), e alguém pode deletar/editar akela informação enquanto a página está sendo printada, e dae, printar um dado que não existe ou q foi modificado... Mas nisto não vejo nada d+, é só vc, como de prache, sempre fazer a validação em todos os recordsets que você abre... (if objRS.eof then...)

Gostaria de mais opniões... biggrin.gif

Os moderadores nada hein? Vish...

Fortes abraços galera!

Link para o comentário
Compartilhar em outros sites

  • 0

Boa Noite,

Olha cada sistema costumo usar modos diferentes, uso tanto Array como o metodo tradicional, acho que quando se casa os dois dai sim o sistema fica mais completo e dinamico, ambos tem suas vantagens e desvantagens, em sistemas grandes costumo usar Array, principalmente quando se trata de BD access.

Em , poderiamos mostrar neste tópico como se usa o array, tipo coloca uma função no modo tradicional e mostra como ela poderia ficar melhor usando array, alem de debater ficaria informativo, o que acham...

Link para o comentário
Compartilhar em outros sites

  • 0

Perfeito mariofdf.

Você explicar da sua maneira pra nós então? biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Pessoal.

Eu não tinha tido tempo ainda de postar aqui, nessa discussão.

(Tirando além do trabalho, o tempo dos jogos, hehe)

Bom, guto, nesse comentario:

Os moderadores nada hein? Vish...

O Cyber havia respondido..e ele é moderador..

Apesar, que eu não veja muita diferença entre moderador e membro, pois pra mim, é a mesma coisa.

você mesmo sabe, que o titulo de moderador não significa nada de mais.

Bom, voltando à discussão atual.

Eu utilizei muito pouco este método aí.

Mas, no pouco tempo que usei, percebi, que teoricamente, ele seria bem mais rapido que o modo convencional.

Porque?

Simples, você trabalha desconectado com o banco de dados, e com todos os dados armazenados.

então, fica facil fazer consultas, e tal.

Para que nunca usou, veja um exemplo:

http://www.freecode.com.br/drArtigos/art_d...QEER40320MSDGWE

Nesse link, tem uma explicação legal, sobre o funcionamento, e o codigo de exemplo desse tipo de aplicação.

Talvez pouca gente conheça este método, então, fica o link, para quem sabe, ser uma referencia!

Neste link, tem outro exemplo de uso

http://www.freecode.com.br/drArtigos/art_d...UUWR65126QJVFPD

Bom, eu diria, que este modo é ótimo.

Mas, é necessário saber trabalhar com arrays, e pra quem não conhece, esse pode ser o problema.

então, é isso que eu acho..

não tenho muito o que falar, pois como disse, não utilizei muito esse modo, então não conheço muito bem.

FIca mais um link legal:

http://www.freecode.com.br/drArtigos/art_d...RNPE52772OBOSDL

Guto, parabens pelo tópico. Discussões sempre são boas, e todos sempre aprendem alguma coisa.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

,Dec 8 2004, 04:21 PM] E os moderadores? Não tem uma opnião?  ph34r.gif

Brother!!!

você some, desaparece, não manda e-mail, não liga e ainda quer sentar na janelinha..... PERA AÍ laugh.gif

Guto!!!

Cara, eu até hoje, estou pra ver um cara que conheça vetor, mais do que o 'BICILCLETA' e WilliamRodrigues (Esse ultimo aqui, chega a ser um absurdo!!)

Cara é dos bãos e eu não estou muito longe dele não !!! smile.gif

Trabalhar com vetor, é muito bom e interessante pois toda tarefa de sobre-carregar seu servidor com recordset conectado no banco de dados fica abolida. Ou seja, você conecta, com um T-SQL bem elaborado, você seleciona os dados necessarios e se desconecta do servidor, deixano assim todo processamento mais rapido e facil de ser interpretado e util para trabalho e interações com outra linguagens (a exemplo disso, exportar base de dados para XML!!! smile.gif e criação de Tree-Views com JAVASCRIPT!!!)

Já vi, por exemplo, sites que todos os itens de menu são armazenados em Array dentro de Application, assim o cara, vai estrutura o site, e depois só puxando um item do Application e atualizando o menu de toda aplicação (Maioria do e-commerces fazem isso!!!), quando necessario, apena altera o valor da variavel e pronto, todo o site, foi modificado, sem ter a necessidade de chamar os designer para mudar..... uma simples coisinha no site. smile.gif

Depende muito do que se vai fazer, mas particularmente , acho, que é, muita vantagem, se estruturar, grandes sites com GetRows (Array ou Vetores) mas desde que seja bem aplicado e estruturado, pois dá un 'nó' ma cabeça do programador.

Abração e Até +!!! Vê se não some + huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Pô galera, sem palavras.

Quanto a minha brincadeira, bem, era só pra ter uma discussão onde todo mundo participasse. biggrin.gif

Vocês sabem que por mais tempo que eu fique fora ou longe do fórum, eu sempre estou aí com vocês, pro que der e vier e louco de vontade de criar estas discussões que só tendem a aumentar o nosso conhecimento; e a nos interagir mais, dividindo experiênciencias e idéias.

Mas voltando ao assunto.

Eu criei o tópico pra discussão de todos, sem exceções, e também pra ver o que vocês achavam disso tudo. E não pensem que o assunto é só pra GetRows, fica mais até mesmo Performance, pois assunto puxa outro. tongue.gif

E assim... o meu projeto que está aki em casa, não sei se já mostrei pra alguém aki do fórum, está todo com o menor tamanho possível e usando dentre estas coisas:

- recordsets muito bem restritos à ação na qual vou desenvolver.

- recordsets desconectados, usando o GetRows.

- uma página padrão que que vai como include em todas as páginas, onde seto algumas constantes como: nome do site, nome do fórum, url do site, url do fórum, estilo do site (css)...e também faço o uso de Response.Buffer = True, Option Explicit...

- em todas as páginas todas as variáveis são declaradas, até mesmo porque eu não as declarasse, iria dar erro, por causa do option explicit q eu coloquei na página padrão...

- tento setar apenas um recordset e usa-lo na página toda, pra todas as consultas que tiver q fazer. é só abri-lo e fecha-lo e assim por diante e ir guardando os dados no vetor.

Agora antes que falem: "Bah, mas ele usa o Response.Buffer = True em todas? puxa, os visitantes sempre terão que esperar todo o carregamento da página pra depois ela ser printada...vixe"

Eu já adianto: nas páginas onde quero que o conteúdo apareça logo, é só dar um Response.Flush wink.gif

O Response.Buffer = True é bom q dá mais velocidade... Pois imagine, o servidor processa um bloco de asp, dae escreve o valor, dae volta a processar mais um bloco de código asp, dae tem de printa-lo dinovo, e assim vai... puxa, um processo bem mais demorado... Dae fica melhor processar tudo duma vez só, e dae sim, quando isso estiver completo, printar.

Enfim, fazendo tudo isso, meu site está com uma grande vantagem quanto a performance.

Estou investindo muito em segurança também.

Até mesmo no cliente, usando JavaScript, e um javascript avançado, cross-browser.

Se alguém quiser, posso postar alguma de minhas páginas, talvez a maior delas, pra vocês verem tudo que eu posso fazer... se alguém entender alguma coisa, eu dou um beijinho tongue.gif hehe

Bem, falei nisso só pra frizar o que dá pra se ganhar em termos de tempo de execução e performance em ambos os lados (servidor/cliente.)

Mas assim, o dark0 falou tudo que eu podia falar (e ainda passou as mesmas fontes (url's) que eu tenho.) e o tio urso complementou ainda mais.

muito obrgado pelo elogio galera e pela atenção.

Se surgir mais alguma coisa à dizer, por favor, não hesitem.

Digo o mesmo à mim... wink.gif

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, Guto, esse tipo de discussão é boa sim, pois você fala como você faz. Eu falo como faço. Os membros falam.. e assim vai

No final, tem um conteudo excelente.

Sobre seu site, eu comecei a desenvolver estes dias, uma galeria de fotos.

Fiz, eu diria que, uns 10% dela, hehe

To voltando a programar asp, pois eu tinha ficado um bom tempo sem desenvolver nada 'grande'. Só sisteminhas pequenos.

Mas, eu digo, que uma coisa que eu costumo fazer, é:

- Criar uma pagina, que fica centralizada todas as CSS, Estilos, Cores, Titulos, Tipos de letras, tipo de formatação de tabelas, e tudo mais.

Toda e qualquer formatação de texto e tabela, eu deixo declarada nessa pagina. (falando-se em classes, no html, é claro).

- Criar uma pagina que guarde todas as funções asp, e as javascript tb.

Ah.. e tb, eu crio somente uma pagina INDEX, e nela eu monto tabelas, pra separar topo do site, com menu, e com o conteudo. (assim, eu desenho boa parte do design do site, hehe)

Bom, é isso..

Abraços, e até mais

Link para o comentário
Compartilhar em outros sites

  • 0

Atualmente tive que desenvolver UM sistema de imobiliaria, insere categoria, imoveis, locais, fotos e bla bla bla, bom, só que este sistema vai ser um que vai ser utilizado por varios sites, então tinha que fazer algo bem pratico de ser modificado, fiz 3 layouts, fatiei, tentei utilizar o menor numero de imagens possiveis, todas as cores, css, titulo, emails, caminhos de upload, de imagens, cores das tabelas, TUDO, inicialmente a meses atras, guardava em includes isso, fazia um include com varias coisas, mas achei mais legal e facil fazer po banco de dados, aonde qualquer leigo pode modificar (tirando coisas mais tecnicas como caminhos de banco no servidor por exemplo)

Criei uma pagina aonde me mostra todas as configurações do site, que o usuarios pode atualizar as configurações, fico bem legal e facil de manejar as configurações do site.

Achei isso muito bom, para oraganização do site, afinal não tenho que sair fuçando pra achar aonde ta aquela cor da tabela numa pagina que tem 500 linhas... rs

Bem organizadinho, mas muitas coisas hoje em dia to gerando dinamicamente como menus por exemplo, fica bem mais facil de fazer manutenção, quanto mais praticidade melhor...

O meu problema era que era muito relaxado e não fechava conexão e rs antes huahuahuahu agora sou mais educado...

Ah.. e tb, eu crio somente uma pagina INDEX, e nela eu monto tabelas, pra separar topo do site, com menu, e com o conteudo. (assim, eu desenho boa parte do design do site, hehe)

Eu faço isso tambem crio a index, aonde monto toda a estrutura, dai faço as includes, como menu, topo, rodape e afins e dela faço as outras, sempre tento estruturar o maximo pra não ter que ficar usando o CTRL + F do dreamweaver depois... rs

Bom já fugi totalmente do assunto hahuahua e to afim de abrir uma discussão depois, que tenho na cabeça a alguns meses pra ka...rs

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Bom já fugi totalmente do assunto hahuahua e to afim de abrir uma discussão depois, que tenho na cabeça a alguns meses pra ka...rs

Brother !!!

Sinta-se á vontade para Postar !

Link para o comentário
Compartilhar em outros sites

  • 0

O galera, uma coisa que vocês falaram um pouco é como você distrubem o conteúdo na index, então...

Vocês não usam mais Frameset?

Pois bem, ninguém mais usa...e o meu site usa ainda sad.gif

Então, como vocês fazem?

Em todas as páginas vocês colocam como include o topo e menu?

Essa é uma coisa q tenha curiosidade a tempo...

Link para o comentário
Compartilhar em outros sites

  • 0

Guto, funciona basicamente como o forum aqui.. ou como a pagina inicial do portal da SB..

É só uma pagina INDEX, contendo varios IFs, includes, e tudo mais.. pura programação..

Eu costumo dividir o site em tabelas, e em cada pedaço da tabela, eu monto uma parte do codigo.. chamo include, ou carrego o conteudo da pagina numa variavel e mostro.. enfim, depende do sistema que vai ser feito..

Outra hora eu falo mais disso

Agora to indo dormir..

Abraços

Editando..

Eu postei um exemplo esses dias aqui, para um usuario que queria saber como funcionava o request, nesse tipo de coisa..

Da uma olhada nos ultimos topicos..

Editado por dark0
Link para o comentário
Compartilhar em outros sites

  • 0

basicamente é isso, quando EU monto um site full (layout + estruturação + programação), eu fatio e monto as tabelas na mão (nada de slices e gerar o HTML), vo fazendo as tabelas e colunas, ponho, topo, menus, rodapé, map, links e etc e tudo que vou utilizar em todas as paginas, eu coloco em uma include ou no caso agora como falei na mensagem anterior salvo no banco de dados e pego nas paginas, por frescura, que da na mesma que da include... rs

Titulos, cores, conteudo do rodapé, cores de tabela tambem salvo em include ou no banco de dados, mas é basicamente monta a index e faz as outras emcima dela e como o guto falou na base de includes e ifs você pode fazer as internas, diminui MUITO o numero de paginas hoje em dia, prestando atenção no que fazia diminui muita oisa, inclusive em codigo ASP, antes fazia uma pagina para deletar cada item do site, como devia ter no minimo 10 tabelas, 10, mais 10 paginas para confirmar e 10 paginas que era o codigo de deltar mesmo, no total 30 paginas, burrice né ? Hoje uso só UMA pagina que deleta da coluna que eu quiser... é caso de logica e estruturação... =P

O esquema é simmplificar pensar que se modificar algo em um mude em todas, lembra site HTML antigamente, que se mudasse o ano, você tinha que ir de pagina em pagina mudando o ano ? rs

É isso que não pode acontecer, simplicidade, é fazer +/- como é feito foruns e sistemas pra web, que você muda umas coisas e ele ta pronto do jeito que você quer =P

Abraçosss

Link para o comentário
Compartilhar em outros sites

  • 0

Aí galera!

Digamos que eu tenha ficado devendo um exemplo/código de como usar-se o GeRows.

Então, aí vai um exemplo que eu achei quando surfava nos meus Favoritos.

Segue a cópia do Ex.

Autor: *Marcinha* do Fórum iMasters.

Fonte: http://www.imasters.com.br/forum/index.php...ndpost&p=135290

Oi pessoal, tem uma maneira legal e simples de se trabalhar com recordset;

Vejam a seguinte instrução:

==========================================

strSQL = "Select nome, cidade, endereco from clientes"

Set rs = Server.CreateObject("ADODB.RecordSet")

rs.Open strSQL, Conexao, 0, 3

If not rs.EOF then

matriz = rsProposta.GetRows

End If

rs.close

conexao.close

==========================================

'Notem que o recordset não precisará ser utilizado novamente.

a variavel matriz recebe os dados do recordset rs.

Para mostrar os dados é mais simples ainda:

==========================================

'0 = nome

'1 = cidade

'2 = endereço

If IsArray(matriz) then

For i = 0 to Ubound(matriz,2) 'o i vai de zero até a última posição da matriz.

response.write matriz(0,i) & " - " 'Ele mostra o nome

response.write matriz(1,i) & " - " 'Ele mostra a cidade

response.write matriz(2,i) & " - " 'Ele mostra o endereço

Next

End If

==========================================

Por exemplo, o endereço está na coluna 2. A linha é variável, onde está definido por i.

A vantagem, é que eu não preciso utilizar o recordset para percorrer os dados da tabela...

Link para o comentário
Compartilhar em outros sites

  • 0

Quem? rolleyes.giflaugh.gif

Link para o comentário
Compartilhar em outros sites

  • 0
' date='Dec 14 2004, 03:22 AM'] Quem? rolleyes.giflaugh.gif

foi o tiu ursao não é? laugh.gif

sabe né.. uma vez mestre.. sempre mestre laugh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Olá a todos.

Os arrays são mais versáteis e economizam tempo de conexão com o banco de dados, tudo bem. Mas seriam ótmos se pudéssemos fazer uma sql entre dois vetores, para refinar os dados no decurso do processamento da página, por exemplo.

Dai minha questão, dá para fazer uma sql entre dois vetores? COmo ficara a sintaxe?

Um abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

RAFABRASIL,

Explique um pouco mais isso para que possamos entender exatamente.

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, minha questão é a seguinte:Podemos fazer uma sql entre arrays, semelhantemente como fazemos entrre tabelas do banco de dados?

Se isso for possível, o Getrows ficaria muito mais versátil pois poderíamos fazer, mesmo em scripts longos, apenas uma conexão com o banco de dados com uma sql ampla, abrangente, colocando-a em um vetor com o getrows.

Dai, no decurso do script, poderíamos refinar a seleção de registros com uma sql sobre o vetor, sem precisar nova conexão com o bco de dados.

Ex: fazemos uma sql geral selecionando todos os registros de um grupo de tabelas relacionadas com o usuário tal, pois todo nosso script vai trabalhar com esse grupo de dados. Guardamos a seleção com o gertows num vetor A.

Dai, a seguir fazemos outras sqls necessárias, não mais se conectando com o bco de dados, mas sobre o vetor A. Ex: agrupamos os registroos, contamos qtos são, selecionamos os entre datas tais e tais, etc. Enfim fazemos todas as demas seleções sobre o vetor A.

Não sei se consegui ser claro, mas como soou iniciante, nunca vi fazerem isso.

Será que dá?

Um abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, uma sql sobre um array bidimensional ou uma matriz ou afins, não.

Mas podemos "filtrar" informações do array, e formar/montar demais arrays.

Dará trabalho, e talvez nem compense fazer isso, pode ter muito mais código e usar mta memória de servidor.

Depende muito do caso, resta você avaliar quando fica viável o seu uso.

Abraços!

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...