Inquiridor
Qual a melhor maneira ?

Pergunta
-
Pessoal,
no meu site, na area de compras, possuo 5 produtos a mostra por vez com nome, imagem, descricao, preco, etc... minha questao é que a cada vez que for acessada a pagina o site tem q ir ao SQL Server e fazer 5 selects pra trazer as informacoes de cada produto individualmente, eu acho q isso nao é muito legal, mas nao consegui pensar em uma maneira eficiente de fazer isso, entao resolvi perguntar pra quem entende... entao, o que voces me recomendam fazer ?
Obrigado
Junior
Todas as Respostas
-
Olá amigo,
Por que não usa o DataGridView? assim você faz um unico pool de conexão, mesmo não entendendo o porque você esta fazendo tantas select, mas aconselho que use o DataGridView assim facilita sua vida.
espero ter ajudado, caso não tenha seja mais especifico que tento lhe dar uma dica.
Atenciosamente,
Flávio Secchieri Mariotti
Analista de Sistemas
http://fsmworlddotnet.blogspot.com
-
Flavio,
noa entendo muito dos recursos do .NET, por isso faço essas perguntas... venho do C e sou acostumado a fazer tudo na mão, agora com o .NET e seus recursos drag & drop, eu ainda estou me adaptando... o negocio é que sao apresentados 5 produtos, cujas caracteristicas sao trazidas do banco de dados. No meu entendimento, o Grid View mostra os dados tabelados, e nao seria essa a ideia... eu pensei em colocar gridview, mas no meu entendimento, entao eu teria que colocar um gridview para cada produto, e para cada grid desses um sqldatasource, pois trata-se de selects diferentes (SELECT * FROM Produtos WHERE Codigo = x), ou tem como eu fazer o mesmo sqldatasource servir os 5 gridviews, mantendo a mesma pool mas alterando o select.
Como voce faria o site do submarino, por exemplo, que mostra varios produtos na pagina ? A ideia que eu quero passa muito perto do site do submarino...
Luiz
-
Acredito que a melhor maneira seria utilizar o componente DataList ao invés do GridView.
Este componente possui diversos parâmetros de formatação, alinhamento, etc.. Sem contar que você poderá também utilizar css dentro dele.
Vamos lá... Insira o componente e selecione um datasource. Feito isso, vá em "Edit Templates", agora dentro do "Item Template" você irá montar o "quadro" com as informações do produto que você quer apresentar. Vamos supor que sua SQL traga 2 campos ("ProductID" e "ProductPrice") então seu "Item Template" ficaria assim:
ID do Produto: <%# DataBinder.Eval(Container.DataItem, "ProductID") %>
Valor do Produto: <%# DataBinder.Eval(Container.DataItem, "ProductID", "{0:c}") %>
Com isso você terá a "repetição" dos dados de acordo com sua SQL. Vale lembrar que você pode utilizar elementos aninhados dentro do "Item Template", dando uma olhada no HTML você poderá inserir uma <div class=...> , etc.. Aí é com você. Ah.. tente explorar os recursos do DataList.. é bem simples!
-
Luis,
e você não pode fazer um único select que retorne todos os dados de uma vez?
Ricardo Oneda
http://oneda.mvps.org/blog