Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

paulorogerio

Consulta multipla em asp.net

Recommended Posts

Galera gostaria de saber como posso fazer este tipo de consulta com asp.net usando VBEm asp:Sql = "Select * form categoria"Set rsCategoria = Conexao.Execute(Sql)While not rsCategoria.eof Sql = "Select * from subcategoria where id_categoria ="&rsCategoria("id_categoria") Set rsSubCategoria = Conexao.Execute(Sql) while not rsSubCategoria.eof response.write rsCategoria("nome_categoria") &"-" & rsSubCategoria("nome_subcategoria") rsSubCategoria.Movenext wend rsCategoria.MovenextWendAcima fiz uma busca na tabela categoria e para cada categoria eu exibe suas subcategorias existentesAgora em asp.net usando VB nao consigo fazer isso.Em asp.Net estou usando o objeto<ASP:Repeater id="Repeater1" runat="server"><ItemTemplate> collapse.addItem("<%# Container.DataItem("nome")%>", "<%# Container.DataItem("nome")%>");</ItemTemplate></ASP:Repeater>alguem pode me dar um exemplo de como posso fazer este tipo de busca?Desde já agradeço!Atenciosamente,Paulo Rogério

Share this post


Link to post
Share on other sites

Em asp.net usando VB.netEu até fiz alguma coisa o problema é que nao consigo passar o parametro p/ a outra subveja o código abaixo<%@ Page Language="VB"%><%@ Import Namespace="System.Data"%><%@ Import Namespace="System.Data.Oledb"%><script runat="server"> sub Page_Load(obj as Object, e as EventArgs) Mostra_Categoria() end sub sub Mostra_Categoria() 'configura a conexao dim objConexao as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\paulorogerio\helponline\db\helponline.mdb") 'abre a conexao dim cmdCategoria as new OleDbDataAdapter _ ("Select * from tbl_Categoria",objConexao) 'preenche o DataSet dim ds as DataSet = new DataSet() cmdCategoria.Fill(ds, "tbl_Categoria") 'seleciona a visualização de dados e vincula ao controle de servidor repCategoria.DataSource = ds.Tables("tbl_Categoria"). _ DefaultView DataBind() objConexao.Close() end sub sub repCategoria_ItemCreated(obj as Object, e as RepeaterItemEventArgs) Mostra_SubCategoria(1) end sub sub Mostra_SubCategoria(ByVal pid_categoria as integer) 'configura a conexao dim objConexao as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\paulorogerio\helponline\db\helponline.mdb") 'abre a conexao 'Monto a Query dim sql as String 'sql = "Select * from tbl_SubCategoria Where id_categoria=" & pid_categoria sql = "Select * from tbl_SubCategoria " dim cmdSubCategoria as new OleDbDataAdapter _ (sql,objConexao) 'preenche o DataSet dim ds as DataSet = new DataSet() cmdSubCategoria.Fill(ds, "tbl_SubCategoria") 'seleciona a visualização de dados e vincula ao controle de servidor dim repSubCategoria as Repeater repSubCategoria.DataSource = ds.Tables("tbl_SubCategoria"). _ DefaultView DataBind() objConexao.Close() end sub</script><html> <body> <ASP:Repeater id="repCategoria" runat="server" OnItemCreated="repCategoria_ItemCreated"> <HeaderTemplate> <table> <tr> <td><b>Categoria</b></td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%# Container.DataItem("nome")%></td> </tr> <ASP:Repeater id="repSubCategoria" runat="server"> <ItemTemplate> <tr> <td><%# Container.DataItem("nome")%></td> </tr> </ItemTemplate> </ASP:Repeater> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </ASP:Repeater> </body></html>

Share this post


Link to post
Share on other sites

Na Sub Mostra_SubCategoria você deveria usar o sql = "Select * from tbl_SubCategoria Where id_categoria=" & pid_categoriasendo que ele está como comentário e você está usando um outro que seleciona todos registros sem filtrar.

Share this post


Link to post
Share on other sites

Você pode tentar armazenar o resultado da primeira select em vetor, depois rodar a segunda dentro de um while, usando o valor da array a cada vez que rodar o while. Isso vai funcionar...

Share this post


Link to post
Share on other sites

Já resolvi galera, obrigado pela ajuda de todos.

para matar a duvida de todos segue abaixo o codigo

 

O site esta no endereço ao lado http://www28.brinkster.com/pauloprojetos/

 

 

<%@ Page Language="VB"%>

<%@ Import Namespace="System.Data"%>

<%@ Import Namespace="System.Data.Oledb"%>

 

<script runat="server">

sub Page_Load(obj as Object, e as EventArgs)

'configura a conexao

dim objConexao as new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings("ConnectionString"))

'abre a conexao

dim cmdCategoria as new OleDbDataAdapter _

("Select * from tbl_Categoria",objConexao)

 

'preenche o DataSet

dim ds as DataSet = new DataSet()

cmdCategoria.Fill(ds, "tbl_Categoria")

 

'seleciona a visualização de dados e vincula ao controle de servidor

Repeater1.DataSource = ds.Tables("tbl_Categoria"). _

DefaultView

Repeater1.DataBind()

end sub

 

Function Subcategorias(ByVal intCategoria As Integer) As DataSet

'configura a conexao

dim objConexao as new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings("ConnectionString"))

'abre a conexao

dim cmdSubcategorias as new OleDbDataAdapter _

("Select C.Nome AS Nome_Categoria, S.ID_Subcategoria, S.Nome from tbl_SubCategoria S INNER JOIN tbl_Categoria C ON C.ID_Categoria = S.ID_Categoria WHERE (S.ID_Categoria = " & intCategoria.ToString() & ")",objConexao)

 

'preenche o DataSet

dim ds as DataSet = new DataSet()

cmdSubcategorias.Fill(ds, "Subcategorias")

 

'seleciona a visualização de dados e vincula ao controle de servidor

Subcategorias = ds

End Function

</script>

 

<html>

<head>

<LINK REL="StyleSheet" HREF="include/padrao.css" type="text/css">

<script language=JavaScript src="include/dynlayer.js"></SCRIPT>

<script language=JavaScript src="include/dynlayer-glide.js"></SCRIPT>

<script language=JavaScript src="include/dynlayer-common.js"></SCRIPT>

<script language=JavaScript src="include/collapsemenu.js"></SCRIPT>

<script language=JavaScript src="include/scrollwindow.js"></SCRIPT>

<script language=JavaScript>

<!--

onload = init

function init() {

collapse.activate()

// manually set the height of the scroll to the height of the collapsemenu

myscroll.activate(collapse.w,collapse.itemTotal)

collapse.onToggle()

}

myscroll = new ScrollWindow(0,35,131,(screen.height-347), "menu")

myscroll.setMargins(0,0,0,1)

myscroll.speed = 50

myscroll.build()

 

collapse = new CollapseMenu(0,0,131,0)

collapse.openStyle = "slide" //glide ou lide ou move

 

collapse.MenuColor = "black" // cor de fonte do menu

 

collapse.bgMenuColor = "#b5e1be" // fundo menu

 

collapse.SubMenuColor = "#717171" // fonte do sub menu

 

collapse.bgSubMenuColor = "#ebfbca" // fundo do sub menu

 

collapse.overMenuColor = "black" // font over menu

 

collapse.bgoverMenuColor = "#218c1e" //over do menu

 

collapse.overSubMenuColor = "black" // font over submenu

 

collapse.bgoverSubMenuColor = "#c5c012" // over do sub menu

 

collapse.borderMenuColor = "#008040" // borda do menu

 

collapse.borderSubMenuColor = "#717171" // borda do sub menu

 

collapse.addItem("Página Principal", "Página Principal", "principal.aspx","main");

//Aqui eu coloco o menu estatico

<%if session("id_perfil") = 1 Then%>

collapse.addItem("Administrador", "Administrador");

collapse.addSubItem("Administrador", "Menu", "adm/menu/menu.asp", "main");

collapse.addSubItem("Administrador", "Categoria", "adm/categoria/categoria.asp", "main");

collapse.addSubItem("Administrador", "SubCategoria", "cadastro.asp", "main");

collapse.addSubItem("Administrador", "Apostila", "cadastro.asp", "main");

collapse.addSubItem("Administrador", "Programa", "cadastro.asp", "main");

collapse.addSubItem("Administrador", "Codigo", "cadastro.asp", "main");

collapse.addSubItem("Administrador", "Artigos", "cadastro.asp", "main");

collapse.addSubItem("Administrador", "Mensagens", "cadastro.asp", "main");

collapse.addSubItem("Administrador", "Notícias", "cadastro.asp", "main");

<%end if%>

<ASP:Repeater id="Repeater1" runat="server">

<ItemTemplate>

collapse.addItem("<%# Container.DataItem("nome")%>", "<%# Container.DataItem("nome")%>");

 

<ASP:Repeater id="Repeater2" DataSource='<%# Subcategorias(Container.DataItem("ID_Categoria"))%>' runat="server">

<ItemTemplate>

collapse.addSubItem("<%# Container.DataItem("Nome_Categoria")%>", "<%# Container.DataItem("Nome")%>", "funcao.aspx?ID_Subcategoria=<%# Container.DataItem("ID_Subcategoria")%>", "main");

</ItemTemplate>

</ASP:Repeater>

</ItemTemplate>

</ASP:Repeater>

//Aqui entra os subs menus

//collapse.addSubItem("<%'=rsMenu("nome_menu")%>", "<%'=rsCategoria("Nome_categoria")%>", "subcategoria.asp?id_categoria=<%'=rsCategoria("id_categoria")%>", "main");

//

 

 

 

 

//Aqui eu coloco o menu estatico

//collapse.addItem("Paulo", "Paulo");

//collapse.addSubItem("Paulo", "Programação Visual", "apostilas.asp?Classificacao=1", "main");

 

//Aqui eu coloco o menu estatico

//collapse.addItem("Contato", "Contato");

//collapse.addSubItem("Contato", "Paulo Rogério", "mailto:paulo@choice.com.br", "main");

 

 

collapse.build()

 

// synch with the 'myscroll' scroll object

collapse.scroll = myscroll

collapse.onToggle = CollapseSynchScroll

 

// onToggle handler to sync the height of a Scroll with a CollapseMenu

function CollapseSynchScroll() {

var obj, h = this.itemTotal

for (var i=0;i<this.numBlocks;i++) {

if (this.blocks.open) {

h += this.blocks.contentHeight

}

}

 

if (is.ns) {

obj = eval("document.ScrollButton")

}

else {

obj = eval("ScrollButton.style")

}

 

if (myscroll.screenlyr.h<h) {

obj.visibility = "visible"

}

else {

obj.visibility = "hidden"

}

 

if (parseInt(myscroll.contentlyr.y)<0 && h<parseInt(myscroll.screenlyr.h)) {

myscroll.contentlyr.moveTo(null,0)

}

this.scroll.activate(this.w,h,false)

}

 

writeCSS(myscroll.css+collapse.css)

 

//-->

</SCRIPT>

 

<STYLE type=text/css></STYLE>

 

<META content="MSHTML 6.00.2715.400" name=GENERATOR>

</head>

 

 

 

 

<BODY bgColor=white leftMargin=0 topMargin=0 scroll=no marginwidth="0" marginheight="0">

<TABLE height="100%" cellSpacing=0 cellPadding=0 width=151 border=0>

<TBODY>

<TR>

<TD vAlign=top noWrap width=131 bgColor=#b5e1be height="100%"><IMG

src="img/label_menu.jpg" border=0><BR>

<script language=JavaScript>

document.write(myscroll.divStart)

document.write(collapse.divStart)

document.write(collapse.htmlMenu)

document.write(collapse.divEnd)

document.write(myscroll.divEnd)

</SCRIPT>

</TD>

<TD style="BACKGROUND-IMAGE: url(img/bordaesq.gif)" vAlign=top noWrap

width=7></TD>

<TD vAlign=top noWrap width=13></TD>

</TR>

<TR>

<TD vAlign=top noWrap width=131 bgColor=#b5e1be height="100%">

<form method="post" action="login.asp" name="frmlogin" target="main">

<table width="75%" border="0" cellspacing="0" cellpadding="0" align="center">

<tr>

<td>

<input class="input_busca" type="text" name="txtlogin" size="15" value="login" onfocus="document.frmlogin.txtlogin.value='';">

</td>

<td rowspan="2">  

<input type="submit" name="Submit" value="ok">

</td>

</tr>

<tr>

<td>

<input class="input_busca" type="Password" name="txtsenha" size="15" value="senha" onfocus="document.frmlogin.txtsenha.value='';">

</td>

</tr>

</table>

</form>

</TD>

<TD style="BACKGROUND-IMAGE: url(img/bordaesq.gif)" vAlign=top noWrap

width=7></TD>

<TD vAlign=top noWrap width=13></TD>

</TR>

</TBODY>

</TABLE>

<DIV id=ScrollButton

style="LEFT: 70px; VISIBILITY: hidden; POSITION: absolute; TOP: 300px"

align=right><IMG onmouseup=myscroll.stop();

onmousedown="myscroll.up(); return false" id=ScrollButtonUP

onmouseover="myscroll.up(); ScrollButtonUP.src='img/menu_scroll_up_over.jpg'; return false"

style="CURSOR: hand"

onmouseout="myscroll.stop(); ScrollButtonUP.src='img/menu_scroll_up.jpg'"

height=19 src="img/menu_scroll_up.jpg" width=19

border=0>   <IMG onmouseup="myscroll.stop(); return false"

onmousedown="myscroll.down(); return false" id=ScrollButtonDOWN

onmouseover="myscroll.down(); ScrollButtonDOWN.src='img/menu_scroll_down_over.jpg'; return false"

style="CURSOR: hand"

onmouseout="myscroll.stop(); ScrollButtonDOWN.src='img/menu_scroll_down.jpg'; return false"

height=19 src="img/menu_scroll_down.jpg" width=19

border=0> </DIV>

<script language=JavaScript>

 

if (is.ns) {

obj = eval("document.ScrollButton");

}

else {

obj = eval("ScrollButton.style");

}

obj.top = (screen.height - 300);

 

function chat() {

 

var yes = 1;

var no = 0;

 

var menubar = no;

var scrollbars = no;

var locationbar = no;

var directories = no;

var resizable = no;

var statusbar = no;

var toolbar = no;

 

windowprops = "width=" + (screen.width-10) + ",height=" + (screen.height-50) + ",top=0,left=0";

 

windowprops += (menubar ? ",menubars" : "") +

(scrollbars ? ",scrollbars" : "") +

(locationbar ? ",location" : "") +

(directories ? ",directories" : "") +

(resizable ? ",resizable" : "") +

(statusbar ? ",status" : "") +

(toolbar ? ",toolbar" : "");

 

window.open('chat', 'chatvbweb', windowprops);

 

}

 

</SCRIPT>

</body>

</html>

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.