Ir para conteúdo

POWERED BY:

Arquivado

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

caioosman

problema com bd

Recommended Posts

Olá galera, eu estou desenvolvendo um sistema c/ banco de dados, mas está havendo um problema.

Eu precisava exibir informações que estão separadas por tabelas, mas são referentes aos mesmos produtos. Numa tabela tem o nome do produto e o preço, na outra tem o estoque atual.

Não sei por que o indivíduo que desenvolveu este banco de dados fez assim, mas eu não posso sequer alterar pois preciso utilizar o mesmo banco de dados do programa.

Alguém pode me ajudar a exibir o estoque referente a cada produto?

 

Arquivos utilizados

Compartilhar este post


Link para o post
Compartilhar em outros sites

:( Valeu pela força galera! :(

Faça uma busca no fórum por "2 tabelas" que você vai achar a lógica, que é mais ou menos assim:
connect.execute("SELECT tabela1.campo, tabela2.campo FROM tabela1, tabela2 WHERE tabela1.id = tabela2.id")
Take it easyManga

Compartilhar este post


Link para o post
Compartilhar em outros sites

Manga, valeu pela força! Finalmente uma boa alma tentou me ajudar neste fórum!Eu tentei fazer o q você falou, só que em todos os produtos deu o mesmo valor de estoque, nos testes, ou 10 ou 104....sqlProd1 = "SELECT * FROM CatItem, CatEstoque WHERE CatItem.Coditem = CatEstoque.CodProduto"Atenciosamente,Caio Osman

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui ninguém sabe tudo, assim como você muitos não sabem fazer uma união de tabelas, ou não viram seu tópico.

 

Como o manga disse, faça uma busca no fórum por "2 Tabelas", ele só passou um exemplo, e verifique seu BD, pois se não houve nenhum erro, só mostrou 2 valores, pode ser que seu BD não esteja correto.

 

Ah estou deletando suas postagens tipo flood.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo que muitas pessoas possam n]ão saber... mas sei que também muitas sabem e passaram batido. Poxa, meu conhecimento em ASP é limitado mas sempre que posso tento ajudar. Procurei no fórum por várias palavras que ligassem e não consegui achar nada, procurei em vários lugares na net e nada também. Fiz o q me avisaram pra fazer, mesmo assim não consegui. Ninguém teve a generosidade de fazer o download do arquivo que eu coloquei com os códigos pra dizer onde eu errei. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri uma coisa q pode ser importante se alguém quiser me ajudar...Eu fiz como me falaram: "SELECT * FROM CatItem, CatEstoque WHERE CatItem.Coditem = CatEstoque.CodProduto"E mandei exibir através do comando:<%= rsProdutos2("Atual")%>Só que ele só tá retornando na página em ASP, a quantidade do primeiro produto, em todos eles. Assim repetindo o numero 104 pela tabela inteira...Onde eu posso ter errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não tenho como rodar ASP aqui, você poderia postar o código que você está fazendo a exibição?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%Option Explicit%><!--#include file="bib_conexao.asp"--><!--#include file="header.htm"--><%'Relação dos produtosDim Conexao, Conexao2, rsProdutos, rsProdutos2, sqlProd, sqlProd1'string para exibir os produtossqlProd = "SELECT * FROM CatItem ORDER BY CodItem"sqlProd1 = "SELECT * FROM CatItem, CatEstoque WHERE CatItem.Coditem = CatEstoque.CodProduto"'abre a conexaoCall abre_conexao'abre a conexao com os produtosCall abre_conexao2'executa a instrução SQLSet rsProdutos = Conexao2.Execute(sqlProd)Set rsProdutos2 = Conexao2.Execute(sqlProd1)%><HTML><HEAD><TITLE>Produtos</TITLE></HEAD><BODY topmargin="0" leftmargin="0" bgcolor="#EEEEEE"><TABLE border="0" cellpadding="0" width="601" bordercolor="#CCCCCC" cellspacing="1" align="center" hspace="0" vspace="0"> <TR> <TD bgcolor="#471555" colspan="4"> <DIV align="center"><FONT color="#FFFFFF"> <B><font face="Verdana, Arial, Helvetica, sans-serif" size="2">PRODUTOS</font></B></FONT></DIV> </TD> </TR> <TR bgcolor="#009999"> <TD width="294"> <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><B>Produto </B> </font></DIV> </TD> <TD width="100"> <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><B>Quantidade </B> </font></DIV> </TD> <TD width="85"> <div align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>Preço unitário</b></font></div> </TD> <TD width="48"> <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"></font></DIV> </TD> </TR> <% While Not rsProdutos.EOF %> <TR bgcolor="#FFFFFF"> <TD width="294" height="46"><FONT color="#471555" face="Verdana" size="2"> <B><%= rsProdutos("Descrição")%></b></FONT> </TD> <TD width="100" height="46"><FONT color="#471555" face="Verdana" size="2"> <%= rsProdutos2("Atual")%></FONT> </TD> <TD width="85" height="46"> <div align="center"><font size="2"><b><font color="#471555" face="Verdana"> R$ <%= FormatNumber(rsProdutos("PreçoVenda1"),2) %></font></b></font> </div> </TD> <TD width="48" height="46"> <DIV align="center"> <a href=carrinho.asp?id=<%= rsProdutos("CodItem")%>><img src="../Pictures/fotocarrinho.gif" width="20" height="20" border="0"></a> </DIV> </TD> </TR> <% rsProdutos.MoveNext Wend %> </TABLE><DIV align="center"><BR> <B><A href="java script:history.go(-1)"><FONT size="2">Voltar</FONT></A></B> </DIV><!--#include file="footer.asp"--></BODY></HTML><%rsProdutos.ClosersProdutos2.CloseCall fecha_conexaoCall fecha_conexao2Set rsProdutos = NothingSet rsProdutos2 = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com essas alterações, Como você setou o RSProdutos2 com sua União você deveria usá-la para "Escrever"

<%While Not rsProdutos2.EOF%> 
<TR bgcolor="#FFFFFF"> 
<TD width="294" height="46"><FONT color="#471555" face="Verdana" size="2"> 
<B><%= rsProdutos2("Descrição")%></b></FONT>
</TD>
<TD width="100" height="46"><FONT color="#471555" face="Verdana" size="2"> 
<%= rsProdutos2("Atual")%>
</FONT>
</TD>
<TD width="85" height="46">
<div align="center"><font size="2"><b><font color="#471555" face="Verdana">
R$ <%= FormatNumber(rsProdutos2("PreçoVenda1"),2) %></font></b></font>
</div>
</TD>
<TD width="48" height="46"> 
<DIV align="center">
<a href=carrinho.asp?id=<%= rsProdutos2("CodItem")%>><img src="../Pictures/fotocarrinho.gif" width="20" height="20" border="0"></a>
</DIV>
</TD>
</TR>
<%rsProdutos2.MoveNext
Wend%>

Troque só esse pedaço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz... aconteceu outro problema... depois que foi resolvido aquele problema, eu consegui configurar direitinho a busca, qdo fui configurar as categorias, aconteceu algo bizarro. Ele fica carregando a página, sem terminar, e sobrecarrega todo o sistema, a ponto de travar a máquina. Tentei um monte de alternativas e não consegui resolver.

 

<%Option Explicit%><!--#include file="bib_conexao.asp"--><!--#include file="../header.htm"--><%'Relação dos produtos da categoria selecionadaDim rsProdutos2, rsCategoria, sqlProd1, sqlCat, Conexao2, rsProdutosDim varCategoria, varNomeCategoria'Recupera o codigo da categoria selecionadavarCategoria = Request.Form("pesquisa")'string para pesquisar os produtos da categoriasqlProd1 = "SELECT * FROM CatItem, CatEstoque WHERE Tipo1 LIKE '%"& varCategoria &"%' OR Tipo2 LIKE '%"& varCategoria &"%'"'abre a conexaoCall abre_conexao2'executa a instrução SQLSet rsProdutos2 = Conexao2.Execute(sqlProd1)%><HTML><HEAD><TITLE>Produtos</TITLE></HEAD><BODY topmargin="0" leftmargin="0" bgcolor="#EEEEEE"><TABLE border="0" cellpadding="0" width="604" bordercolor="#CCCCCC" cellspacing="1" align="center">  <TR>     <TD bgcolor="#471555" colspan="4">       <DIV align="center"><FONT color="#FFFFFF"> <B><font face="Verdana, Arial, Helvetica, sans-serif" size="2">PRODUTOS         DA CATEGORIA -</font></B></FONT>      </DIV>    </TD>  </TR>  <TR bgcolor="#009999">     <TD width="90">       <div align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>foto</b></font></div>    </TD>    <TD width="259">       <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><B>nome         </B> </font></DIV>    </TD>    <TD width="92">       <div align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>preço         unitário</b></font></div>    </TD>    <TD width="55">       <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"></font></DIV>    </TD>  </TR><%While Not rsProdutos2.EOF%> <TR bgcolor="#FFFFFF"> <TD width="294" height="46"><FONT color="#471555" face="Verdana" size="2"> <B><%= rsProdutos2("Descrição")%></b></FONT></TD><TD width="100" height="46"><FONT color="#471555" face="Verdana" size="2"> <%= rsProdutos2("Atual")%></FONT></TD><TD width="85" height="46"><div align="center"><font size="2"><b><font color="#471555" face="Verdana">R$ <%= FormatNumber(rsProdutos2("PreçoVenda1"),2) %></font></b></font></div></TD><TD width="48" height="46"> <DIV align="center"><a href=carrinho.asp?id=<%= rsProdutos2("CodItem")%>><img src="../Pictures/fotocarrinho.gif" width="20" height="20" border="0"></a></DIV></TD></TR><%rsProdutos2.MoveNextWend%></TABLE><DIV align="center"><BR>  <B><A href="javascript:history.go(-1)"><FONT size="2">Voltar</FONT></A></B> </DIV><!--#include file="footer.asp"--></BODY></HTML><%rsProdutos2.CloseCall fecha_conexao2Set rsProdutos = NothingSet rsCategoria = Nothing%>

Onde eu errei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dem que usar o LIKE na consulta?, Não pode ser "="

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeuz Salgado, eu substitui lá... agora não trava mais, só que ele não tá exibindo nenhum produto, dá como se não tivesse nada cadastrado na categoria... O q pode ser? :( desculpa incomodar awe..

 

<%Option Explicit%><!--#include file="bib_conexao.asp"--><!--#include file="../header.htm"--><%'Relação dos produtos da categoria selecionadaDim rsProdutos2, sqlProd1, sqlCat, Conexao2, sqlProd2Dim varCategoria'Recupera o codigo da categoria selecionadavarCategoria = Request.Form("pesquisa")'string para pesquisar os produtos da categoriasqlProd1 = "SELECT * FROM CatItem WHERE CatItem.Tipo1 = '%"& varCategoria &"%' OR CatItem.Tipo2 = '%"& varCategoria &"%'"sqlProd2 = "SELECT * FROM CatItem, CatEstoque WHERE CatItem.Coditem LIKE CatEstoque.CodProduto"'abre a conexaoCall abre_conexao2'executa a instrução SQLSet rsProdutos2 = Conexao2.Execute(sqlProd2, sqlProd1)%><HTML><HEAD><TITLE>Produtos</TITLE></HEAD><BODY topmargin="0" leftmargin="0" bgcolor="#EEEEEE"><TABLE border="0" cellpadding="0" width="604" bordercolor="#CCCCCC" cellspacing="1" align="center">  <TR>     <TD bgcolor="#471555" colspan="4">       <DIV align="center"><FONT color="#FFFFFF"> <B><font face="Verdana, Arial, Helvetica, sans-serif" size="2">PRODUTOS</font></B></FONT></DIV>    </TD>  </TR>  <TR bgcolor="#009999">     <TD width="294">       <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><B>Produto         </B> </font></DIV>    </TD>     <TD width="100">       <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><B>Quantidade         </B> </font></DIV>    </TD>    <TD width="85">       <div align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>Preço         unitário</b></font></div>    </TD>    <TD width="48">       <DIV align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="1"></font></DIV>    </TD>  </TR>  <%   If rsProdutos2.EOF Then      Response.Write "Nao existem produtos nesta categoria, por favor tente outro."   Else     While Not rsProdutos2.EOF%> <TR bgcolor="#FFFFFF"> <TD width="294" height="46"><FONT color="#471555" face="Verdana" size="2"> <B><%= rsProdutos2("Descrição")%></b></FONT></TD><TD width="100" height="46"><FONT color="#471555" face="Verdana" size="2"> <%= rsProdutos2("Atual")%></FONT></TD><TD width="85" height="46"><div align="center"><font size="2"><b><font color="#471555" face="Verdana">R$ <%= FormatNumber(rsProdutos2("PreçoVenda1"),2) %></font></b></font></div></TD><TD width="48" height="46"> <DIV align="center"><a href=carrinho.asp?id=<%= rsProdutos2("CodItem")%>><img src="../Pictures/fotocarrinho.gif" width="20" height="20" border="0"></a></DIV></TD></TR><%rsProdutos2.MoveNextWendEnd If %></TABLE><DIV align="center"><BR>  <B><A href="javascript:history.go(-1)"><FONT size="2">Voltar</FONT></A></B> </DIV><!--#include file="footer.asp"--></BODY></HTML><%rsProdutos2.CloseCall fecha_conexao2Set rsProdutos2 = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, calma! hehehe

sqlProd1 = "SELECT * FROM CatItem WHERE CatItem.Tipo1 = '%"& varCategoria &"%' OR CatItem.Tipo2 = '%"& varCategoria &"%'"

sqlProd2 = "SELECT * FROM CatItem, CatEstoque WHERE CatItem.Coditem LIKE CatEstoque.CodProduto"

 

Call abre_conexao2

 

Set rsProdutos2 = Conexao2.Execute(sqlProd2, sqlProd1)

Nunca vi setar um RecordSet com 2 SQLs, retire o sqlProd1 e na sqlProd2 troque o "Like" pelo "=" e teste.

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.