Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Compartilhar este post


Link para o post
Compartilhar em outros 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>

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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...

Compartilhar este post


Link para o post
Compartilhar em outros 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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.