Ir para conteúdo

POWERED BY:

Arquivado

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

Christiano Nunes

Resultado da FUNÇAO para o SELECT

Recommended Posts

Galera, como meu outro topico "random com 6 registros" nao deu certo..

estou tentando fazer de outra forma.

 

Criei uma FUNÇAO para calcular um random... mas estou querendo que o

resultado desta FUNÇÃO vá para o "WHERE" no meu banco de dados ACCESS.

 

veja o codigo:

 

<%dim numeracao2(14)numeracao2(0) = "1"numeracao2(1) = "2"numeracao2(2) = "3"numeracao2(3) = "4"numeracao2(4) = "5"numeracao2(5) = "6"numeracao2(6) = "7"numeracao2(7) = "8"numeracao2(8) = "9"numeracao2(9) = "10"numeracao2(10) = "11"numeracao2(11) = "12"numeracao2(12) = "13"numeracao2(13) = "14"%><%Function calculo()randomizenumero2 = numeracao2(cint(rnd()*13))if numero2 <> numero1 Thenresponse.write numero2Elsecalculoend ifend function%><%numerofinal = calculo()   	  Set reghorizontal_2 = Server.CreateObject("ADODB.Recordset")	  	  reghorizontal_2.Open "SELECT TOP 2 * FROM 1NOTICIA where cod_tiponoticia =" & numerofinal & "", Conexao%>
o erro que aparece é:

 

Microsoft JET Database Engine (0x80040E14)Erro de sintaxe (operador faltando) na expressão de consulta 'cod_tiponoticia ='.
eu só quero q a variavel NUMEROFINAL seja definida para o "cod_tiponoticia".

 

Vale lembrar que fora do SELECT essa funçao funciona perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim na sua função

 

numero1="1"if cstr(numero2) <> cstr(numero1) Thencalculo= cint(numero2)Elsecalculo= cint(numero1)end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim na sua função

numero1="1"if cstr(numero2) <> cstr(numero1) Thencalculo= cint(numero2)Elsecalculo= cint(numero1)end if
Esse é o cara... valeu Jonathan..agora acho q vou resolver meu problema de random.Desculpe a pergunta, mas é q sou novato em asp.. sevocê puder, me explique para que serve este "cstr".Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cstr(valor)onde cstr é converte para stringvalor é inteiro ou texto que será convertida para stringmas o erro provavelmente está aquiresponse.write numero2se você cria uma função ela deve receber um valor e não escrever, por isso troquei paracalculo= cint(numero2)ai converti para inteiro o numero2 pra poder usar no where do seu sqlas conversões que fiz (cstr e cint) foram apenas para evitar erros durante a leitura da funcaoaproveitei e coloquei no else calculo= cint(numero1) caso dê algum "problema" na condição do IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a pergunta, mas é q sou novato em asp.. sevocê puder, me explique para que serve este "cstr".

Em ASP, não temos tipos pré-definidos de variáveis.Então convertemos os dados para termos maior segurança.CStr() é a função q converte para String.Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha eu de novo....

 

e seu quiser gerar mais 5 funções destas... sem repetir nenhum resultado!!

 

O lugar com ???????? seria a duvida.

 

<%dim numeracao3(14)numeracao3(0) = "1"numeracao3(1) = "2"numeracao3(2) = "3"numeracao3(3) = "4"numeracao3(4) = "5"numeracao3(5) = "6"numeracao3(6) = "7"numeracao3(7) = "8"numeracao3(8) = "9"numeracao3(9) = "10"numeracao3(10) = "11"numeracao3(11) = "12"numeracao3(12) = "13"numeracao3(13) = "14"%><%Function calculo3()randomizenumero3 = numeracao3(cint(rnd()*13))if CStr(numero3) <> CStr(numero1) and CStr(numero3) <> CStr(numero2) Thencalculo3= CInt(numero3)Elsecalculo3= ????????end ifend function%>
Ou seja, se o random pegar um numero repetido, o que a função faz?????

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.