Ir para conteúdo

POWERED BY:

Arquivado

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

ifmoraes

Split em dados de Banco de Dados

Recommended Posts

Bom dia a todos

 

Eu tenho uma dúvida, que nem sei se é possível no ASP+Vbscript, eu tenho uma tabela no banco de dados, que armazena o ID de todas as páginas do site que o cliente tem acesso, definidas pelo administrador do site

 

E preciso saber se há como uma variável receber todos esses ID's de uma vez, e depois o sistema olhar nessa e exibir apenas os liberados

 

atualmente eu consigo armazenar todas de uma vez utilizando o ARRAY abaixo:

 

<%

Dim lista(), Loop1, can, canal

 

num = 0

redim lista(10)

while not rscan.eof

lista(num) = rscan("id_canal")

num = num + 1

rscan.movenext

wend

 

For Loop1 = Lbound(lista) to Ubound(lista)

can = (lista(Loop1) & "<br>")

Next

 

canal = Split(can, "<br>")

%>

O que eu preciso que essa variável "canal" fique com um número inteiro, pois através de INCLUDE o Sistema localiza todos os CANAIS que são liberados e essa parte funciona, o meu problema é fazer esse Split funcionar, e não sei mais o que fazer

 

 

Espero que possam me ajudar

 

Muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei la se eu entendi...mais você quer colokar todos os valoere da array numa variavel normal???se for isso entaostrCanal = join(arrCanal)flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

não seria mais pratico fazer assimwhile not rscan.eofif var="" thenvar=rscan("id_canal")elsevar=var&","&rscan("id_canal")end ifwendcanal = Split(var, ",")response.write("Posição 1 do meu array:"&canal(0))response.write("<br>")response.write("Junção do meu array:"&join(canal))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei la se eu entendi...

 

mais você quer colokar todos os valoere da array numa variavel normal???

se for isso entao

 

strCanal = join(arrCanal)

 

flwww

Então, é assim:

 

O sistema procura por números inteiros, diagamos que o cliente tem acesso aos canais 1, 2 e 3, o sistema tem que ler canal = 1 e liberá-lo, depois ele tem que ler canal = 2 e também liberá-lo, e depois o mesmo com o canal = 3 e depois termina a rotina

 

Hoje ele está indo todos de uma vez, então ele lê canal = 1<br>2<br>3<br> o que ocasiona o erro

 

O que eu não sei é se isso é possível.....mas valeu a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

não seria mais pratico fazer assimwhile not rscan.eofif var="" thenvar=rscan("id_canal")elsevar=var&","&rscan("id_canal")end ifwendcanal = Split(var, ",")response.write("Posição 1 do meu array:"&canal(0))response.write("<br>")response.write("Junção do meu array:"&join(canal))

É bem por aí, só que o que preciso é guardar os valores em uma variável, não escrever na tela apenas.....você sabe alguma forma de guardá-las para colocar no lugar do response.write?Valew pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

não precisa ..você só tem que manipular o array da maneira que achar melhor. Mas se preferir ficaria assimvariavel="Posição 1 do meu array:"&canal(0)variavel_Join="Junção do meu array:"&join(canal)

Compartilhar este post


Link para o post
Compartilhar em outros sites

não precisa ..você só tem que manipular o array da maneira que achar melhor. Mas se preferir ficaria assim

 

variavel="Posição 1 do meu array:"&canal(0)

 

variavel_Join="Junção do meu array:"&join(canal)

Sim, é que nesse caso, ele está mostrando apenas o item (0).....por exemplo o canal = 1, e ignorando o 2 e o 3

 

Valeu pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

se quiser ver todos pode ser assim tambémfor i=0 to ubound(canal)response.write(canal(i)&"<BR>")next

Compartilhar este post


Link para o post
Compartilhar em outros sites

se quiser ver todos pode ser assim também

for i=0 to ubound(canal)

response.write(canal(i)&"<BR>")

next

Então a outra página que está em "Include File" onde tem o sistema, busca para exibir uma coluna do ADM <% if Cint(canal) = 1 then %>, e por aí vai até o canal = 8, assim ocorre o motivo de eu ter que armazenar na variável canal, escrevendo ele só fica na tela mas o Sistema não lê

 

O estranho é com o response.write(can(i)) ele mostra todos os do Banco de Dados, e se você apenas colocar canal = can(i) ele mostra apenas o maior número

 

Será que não é possível ele gerar como se fosse uma lista virtual?

 

Valeu mais uma vez pela ajuda

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.