Ir para conteúdo

POWERED BY:

Arquivado

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

fabiosc80

Randomizar Categorias

Recommended Posts

Preciso fazer que quando uma pagina aqui seja carregada ela sempre traga uma categoria diferente.

 

Eu fiz assim o código porem esta dando o seguinte erro:

 

ADODB.Connection error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

 

/loja01/index_base1.asp, line 5

 

 

 

o código que fiz com ajuda de um amigo daqui da lista é:

 

ASP [/tr][tr] <%

Dataconn.Execute("select * from Products_Type")

Products_Type = Dataconn.getRows()

nova_cat=""

do until Session("cat_atual") <> nova_cat

nova_cat = int((rnd * (Products_Type)) + 1)

loop

Session("cat_atual") = nova_cat

%>

 

<%

RSf = "SELECT top 18 * FROM Products where ProductType =" & nova_cat

set RSf = Dataconn.Execute(RSf)

numform = 0

 

%>

[/tr]

 

por que esse erro e como soluciono ele?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa criar um REcordset pelo metodo set rsObj = Server.Create.....rsObj.Open.,........pra depois atribuir a uma variavel o GetRows()falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa criar um REcordset pelo metodo set rsObj = Server.Create.....rsObj.Open.,........pra depois atribuir a uma variavel o GetRows()falows

sim mas tem algum parametro a mais que nem como se fosse num AspSmartUPload?ou é que nem um recordsert como assim:set obj = Server.CreateObject()obj.Opensó isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa criar um REcordset pelo metodo

 

set rsObj = Server.Create.....

rsObj.Open.,........

 

pra depois atribuir a uma variavel o GetRows()

 

falows

Assim::::::::::

 

 

ASP [/tr][tr] <%

Dataconn.Execute("select * from Products_Type")

Products_Type = Server.CreateObject(getRows)

Products_Type.Open

Products_Type = Dataconn.getRows()

nova_cat=""

do until Session("cat_atual") <> nova_cat

nova_cat = int((rnd * (Products_Type)) + 1)

loop

Session("cat_atual") = nova_cat

%>

 

<%

RSf = "SELECT top 18 * FROM Products where ProductType =" & nova_cat

set RSf = Dataconn.Execute(RSf)

numform = 0

 

%>

[/tr]

 

é que deu um erro:

 

Server object error 'ASP 0177 : 80004005'

Server.CreateObject Failed

 

/loja01/index_base1.asp, line 5

 

Unspecified error

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

Randomize

set categorias = Dataconn.Execute("select * from Products_Type")

Products_Type = categorias.getRows

nova_cat=""

do until Session("cat_atual") <> nova_cat

nova_cat = int(rnd * UBOUND(Products_Type) + 1)

loop

Session("cat_atual") = nova_cat

%>

 

<%

RSf = "SELECT top 18 * FROM Products where ProductType =" & nova_cat

set RSf = Dataconn.Execute(RSf)

numform = 0

 

%>

 

tenta assim... nao precisa criar o objeto... repare, o erro esta na linha 5 nao na linha 1....

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

Randomize

set categorias = Dataconn.Execute("select * from Products_Type")

Products_Type = categorias.getRows

nova_cat=""

do until Session("cat_atual") <> nova_cat

nova_cat = int(rnd * UBOUND(Products_Type) + 1)

loop

Session("cat_atual") = nova_cat

%>

 

<%

RSf = "SELECT top 18 * FROM Products where ProductType =" & nova_cat

set RSf = Dataconn.Execute(RSf)

numform = 0

 

%>

 

tenta assim... nao precisa criar o objeto... repare, o erro esta na linha 5 nao na linha 1....

esta dando esse erro:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ProductType ='.

 

/loja01/index_base1.asp, line 15

 

 

a linha 15 é essa aqui:

 

set RSf = Dataconn.Execute(RSf)

 

e a query é essa aqui:

 

RSf = "SELECT top 18 * FROM Products where ProductType =" &

 

alias Fabricio eu tava esquecento na query:

 

set categorias = Dataconn.Execute("select * from Products_Type")

 

O código da categoria esta em id... que é o mesmo que cadastra na coluna ProductType da tabela Products.

ou seja esses dois são para numeros.

 

Influencia?

 

Oque faço agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na linha

 

RSf = "SELECT top 18 * FROM Products where ProductType =" & nova_cat

 

 

verifique se a variável ( nova_cat ) não está vazia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na linha

 

RSf = "SELECT top 18 * FROM Products where ProductType =" & nova_cat

 

 

verifique se a variável ( nova_cat ) não está vazia.

coloquei um response.write pra ver e ele as veses traz em branco e as veses traz categoria que nao esta no banco. ele nunca traz uma categoria que esta no banco de dados. na verdade ele ta trazendo só em branco 1 ou 2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse codigo tras um "indice do vetor"voce tem que utilizar o valor de elemento do vetor, nao o indice...ao inves de fazer nova_cat = int(...)faz novacat = categorias( int(...), 1 )onde 1 é a posicao do campo na matriz gerada pelo getrows...ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se assim funciona

 

<%

Randomize

set RSCategorias = Dataconn.Execute("select campocategoria from Products_Type")

vCategorias = RSCategorias.getRows()

nova_cat=""

do until Session("cat_atual") <> nova_cat

nova_cat = vCategorias(1, int(rnd * UBOUND(vCategorias)) + 1))

loop

Session("cat_atual") = nova_cat

 

set RSProdutos = Dataconn.Execute("SELECT top 18 * FROM Products where ProductType = " & Session("cat_atual"))

numform = 0

%>

 

 

 

mude o campocategoria para o nome do campo que guarda o codigo da categoria

Compartilhar este post


Link para o post
Compartilhar em outros sites

oia, é mesmo... estamos analisando o erro e esquecemos do principal... hahahahaha ser diferente da anterior.... é isso ai Luiz...abracos

beleza , mas um amigo meu que mora da australia me ajudou e eu arrumei aqui.

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.