Ir para conteúdo

POWERED BY:

Arquivado

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

wilnet

Duas Tabelas, ñ consigo.

Recommended Posts

Me ajudem com o meu código?

Pessoal, agradeço a dicas dadas, mas procurei conforme sugerido por "select várias tabelas" aqui no forum, até achei alguma coisa, só que sou aprendiz ainda em ASP, já fiquei o dia inteiro batendo cabeça e nada.

 

Me ajudem com o meu código?

 

Veja como ele está

Select Case lista

Case "categoria"

set lista_produtos = lojaDB.Execute("SELECT * FROM produtos WHERE cat_id="& cat_id &" AND disp='S' ORDER BY nome")

 

Eu tenho um "BD" com duas tabelas, "produtos" e "prod_seminovos" o conteudo das tabelas são as mesma, só que eu preciso que a consulta faça nas duas, como é que insiro o código?

 

Normalmente o problema maior que eu encontro é no AND disp='S' e case sempre da esse erro ADODB.Field erro '800a0bcd'

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

 

 

Se ñ for pedir muito, descreva o código de como vai ficar por favor OK.

As vezes os colegas até me passam as sugestões, faça isso ou aquilo, beleza só que ainda ñ entendo muita coisa e então fico case sempre boiando, eu sou de floripa, em janeiro agora vou fazer um curso de "ASP I" na IMPACTA, desejo aprender e entender assim como vcs do forum.

 

Bem, ficarei muito grato desde já. Há, depois eu posto + ? OK. (rs)

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse é erro é porque não encontrou registros e você não fez nenhum tratamento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

strsql = ""strsql = strsql & "SELECT * FROM produtos WHERE cat_id="& cat_id &" AND disp='S' "strsql = strsql & " union all "strsql = strsql & "SELECT * FROM produtos_semi WHERE cat_id="& cat_id &" AND disp='S' ORDER BY nome"set lista_produtos = lojaDB.Execute(strsql)ve se funciona...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu FABRICIOGOMES, funcionou legal, agora o erro é com outra página, (como ficaria o código que você me passou para a pg anterior, como faço para esta pg agora?

 

Eu tentei fazer com a pg detalhe e deu esse erro agora:

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.

superinfo/detalhe.inc, line 13

 

O código original é esse:

 

<%

Dim prod_id,prod_nome,prod_descricaop,prod_descricaog,prod_preco,prod_imag_gr,prod_d

etalhe,url_comp

prod_id = Request.querystring("prod_id")

url_comp = Server.UrlEncode(Request.querystring("url_comp"))

set prod_detalhe = lojaDB.Execute("SELECT * FROM prod_seminovos WHERE id="& prod_id &" AND disp='S'")

prod_nome = prod_detalhe("nome")

prod_descricaop = prod_detalhe("descricaop")

prod_descricaog = prod_detalhe("descricaog")

prod_preco = prod_detalhe("preco")

prod_imag_gr = prod_detalhe("imag_gr")

prod_detalhe.Close

set prod_detalhe = Nothing

%>

 

Será que você poderia me ajudar novamente, eu tentei e tentei, mais não sei o que a mensagem de erro quer dizer.Eu tentei usar o mesmo código que você me passou.

 

Muito obrigado novamente por todos do forum.

 

P.S marioufpa O que você quiz dizer com (esse é erro é porque não encontrou registros e você não fez nenhum tratamento... ) você se puder pode me explicar, assim vou aprendendo tb ok? Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo assimse você selciona os campos que tehan nome igual a dsghdgshdsh ou qualquer outra coisa, e ele não encontrar, você não pode tentar escrever o nome, senão dá este erro de BOF ou EOF, então sempre antes de escrever os valores do banco fazemos algum testese for só um registro basta um ifIF NOT rs.EOF Thenaqui escreveEND IFse for mais de um ou uma quantidade que você não sabe usa um laço tipo o WHILEWHILE NOT rs.EOFaqui escrevers.MOVENEXTWENDai não dá este erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me esqueci de um detalhe importante:

 

O código que eu istou usando para o post acima é este:

 

strsql = ""

strsql = strsql & "SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'"

strsql = strsql & " union all "

strsql = strsql & "SELECT * FROM prod_seminovos WHERE prod_id="& prod_id &" AND disp='S'"

set lista_produtos = lojaDB.Execute(strsql)

 

E o erro que está dando é este:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.

superinfo/detalhe.inc, line 13

 

 

Agora sim, ficarei grato se puderem me explicar onde corrigo esse erro conforme o post acima,

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

este campo disp tem nas duas tabelas??imprime na tela a string sql e posta aqui pra ser analisada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colegas, estou colocando a pg toda ok? me desculpe por não saber ainda detalhar corretamente para vcs o erro especifico.

 

<body background="./imagem/04_claro.gif">

<p> </p>

<table width="90%" border="0" align="center" height="238">

<%

Dim

 

prod_id,prod_nome,prod_descricaop,prod_descricaog,prod_preco,prod_imag_gr,prod_d

etalhe,url_comp,s

 

trsql

prod_id = Request.querystring("prod_id")

url_comp = Server.UrlEncode(Request.querystring("url_comp"))

 

strsql = ""

strsql = strsql & "SELECT * FROM produtos WHERE id="& prod_id &" AND disp='S'"

strsql = strsql & " union all "

strsql = strsql & "SELECT * FROM prod_seminovos WHERE prod_id="& prod_id &" AND disp='S'"

set lista_produtos = lojaDB.Execute(strsql)

 

prod_nome = prod_detalhe("nome")

prod_descricaop = prod_detalhe("descricaop")

prod_descricaog = prod_detalhe("descricaog")

prod_preco = prod_detalhe("preco")

prod_imag_gr = prod_detalhe("imag_gr")

prod_detalhe.Close

set prod_detalhe = Nothing

%>

 

<tr>

<td width="49%" bgcolor="#ffaa33">

<div align="center"><%=prod_nome%></div></td>

<td width="51%" rowspan="2"><div align="center">

<table width="100%" height="28%" border="0">

<tr>

<td height="45"><%=prod_descricaog%></td>

</tr>

<tr>

<td height="37">

<div align="center"><b><font color="#FF0000">Valor:

R$<%=FormatNumber(prod_preco,2,-1,0,-1)%></font></b></div></td>

</tr>

<tr>

<td height="34">

<form action=./compras.asp method=get>

<input type=hidden name=acao value=incluir>

<input type=hidden name=prod_id value=<%=prod_id%>>

<input type=hidden name=url_comp value="<%=url_comp%>">

Quantidade 

<input type=text name=prod_quant maxlength=4 size=3 style="border: 1 solid

 

#0099cc;" value=1>

 

<input type=image src="./imagem/comprar.gif" border=0 name="image">

</form></td>

</tr>

<tr>

<td height="21"><div align="center"><a

 

href="<%=Request.ServerVariables("HTTP_REFERER")%>">Voltar</a></div></td>

</tr>

</table>

</div>

<div align="center"><b></b></div>

<div align="center"> </div>

<div align="center"></div></td>

</tr>

<tr>

<td><div align="center"></div>

<div align="center"><img src=./imagem/imag_gr/<%=prod_imag_gr%> border=0></div>

<div align="center"></div></td>

</tr>

</table>

<p align="center"> </p>

 

E este é o erro:

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.

superinfo/detalhe.inc, line 13

 

OBS: As duas tabelas são iguais sim, em tudo somente o nome delas é que difere uma é "produtos" e outra é "prod_seminovos".

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre a linha 13 com *** com <-- ou --> e quem é prod_detalhes, nao seria lista_produtos ?e outra, sobre sua base de dadosvoce poderia normaliza-la...colocar tudo numa tabela so e colocar um campo para dizer se é seminovo ou nao...

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes desta linhaset lista_produtos = lojaDB.Execute(strsql)poe issoresponse.write strsqle posta aqui o que aparecer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

FABRICIOGOMES A linha 13 é esta pelo que eu contei :

 

strsql = strsql & " union all "

e quem é prod_detalhes, nao seria lista_produtos ?

É que agora esta é outra pd, ela lista mais detalhes do produto lista, eu alterei no comando do sql tb, mas deu no mesmo.

 

Quanto alterar o meu BD para uma só tabela, vou ter que mexer muito nos códigos tb, não é

-------------------------------------------------------------------------------

marioufpa Eu inseri conforme sugerido , e ficou com o mesmo erro, ñ mudou nada.

 

Grato + 1 vz

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, mas escreveu algo antes do erro??posta aqui o que escreveu...

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.