Ir para conteúdo
Fórum Script Brasil
  • 0

Idéia Para Um Insert


ratocuiara

Pergunta

Vamos lá pessoal.

Supomos que tenho os seguinte dados na string.

numero.asp?centena=1&dezena=2&unidade=3

Para recuperar e simplificar eu faço assim:

<%

centena=request.querystring("centena")

dezena=request.querystring("dezena")

unidade=request.querystring("unidade")

%>

Agora o que eu preciso é criar uma miscelânea ou seja criar todas as centenas possiveis com esses numeros.

A principio fiz assim.

misc1=centena()&dezena()&unidade() = imprime 123

misc2=centena()&unidade()&dezena() = imprime 132

misc3=dezena()&centena()&unidade() = imprime 213

misc4=dezena()&unidade()&centena() = imprime 231

misc5=unidade()&centena()&dezena() = imprime 312

misc6=unidade()&dezena()&centena() = imprime 321

Até aqui está tudo bem, e funcionando. Porem se a string vier assim:

numero.asp?centena=1&dezena=2&unidade=1

Ele imprime assim, reparem que os numeros se repetem no 1º e 6º, no 2º e 5º e 3º e 4º

misc1=centena()&dezena()&unidade() = imprime 121

misc2=centena()&unidade()&dezena() = imprime 112

misc3=dezena()&centena()&unidade() = imprime 211

misc4=dezena()&unidade()&centena() = imprime 211

misc5=unidade()&centena()&dezena() = imprime 112

misc6=unidade()&dezena()&centena() = imprime 121

O que eu quero é impedir a repetição do numero e reportar em branco onde ocorreria a repetição:

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

em vez de fazer misc1, misc2, etc, não seria melhor por num array??

ai você faria um for e ia comparando. mais o menos assim:

For i = 1 To 5
     For j = 0 To i - 1
          If misc(i) = misc(j) Then
               -- se chegar aqui, misc(i) é repetido --
          End If
     Next
Next[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

Não ajudou muito, porque não entendo praticamente nada de array. Até procurei alguma informação sobre o assunto, mais não encontrei nada que me esclaresse, se você souber de algum site que eu possa saber mais peço para que poste ai.

Fiz assim com os misc1, misc2... porque tenho que insertalos depois em uma tabela. tipo assim:

Insert into TabNumero(nu01,nu02,nu03,nu04,nu05,nu06) values ('"& misc1 &"', '"& misc2 &"', '"& misc3 &"', '"& misc4 &"', '"& misc5 &"', '"& misc6 &"')"

Essa é a milha linha de pensamento, porem o tópico está aqui, para que deem a melhor idéia possivel para essa função.

Link para o comentário
Compartilhar em outros sites

  • 0

olá...eu acho que está faltando detalhes do que voc~e quer fazer...exemplo...se você for fazer isto ai que você escreveu é um função modificadora e não um array, mas eu também entendi que o arry resolveria seu ploblema, na verdade fiquei confuso como o moderador, não da para entender o que você está querendo..mas vamos lá...

matematicamente falando uma centena for 2 centenas, este é seu caso...bom vamos lá.

345 é nossa centena

543

435

neste ponto é morta a centena...não formaria mas nada matematicamente falando,

ou seja

numerofator na esquerda....centro...direita...

neste caso uma função resoveria seu caso.

tipo assim

<%

Public Function finalizaem(variavel)

IF variavel <> "" THEN

'divida a variavel por ...left e selecione um a um e coloque na centena, dezena e unidade

centena = 1

dezena = 2

unidade = 4

'depois você faz o que você fez, monta uma forma que matematica mente daria duas centena.

'monte aqui mesmo na função o salva no DB individual como você colocou lá.

variavel =

End Function

%>

eu acho que neste caso seria mais pratico para você por que você já varia tudo junto na função, criava e salvava no db tudo de uma vez só.

bom este é meu ponto de vista, porem o do monitor é valido se você tiver uma ordem de mais numeros tipo

varias informações ao mesmo tempo de diferentes origens, tipo

info1 653

info2 879

info3 567

info4 123

neste caso o que vai te salvar é o arry, mas a função bem bolada ajuda você.

espero ter ajudado você com o texto.

forte abraço. :D

Link para o comentário
Compartilhar em outros sites

  • 0

o array é uma variavel com varios indices. como se cada indice fosse uma variavel diferente.

exemplo, você pode gravar um valor em misc(0) e outro em misc(1) e outro em misc(2), etc.

se você declarar assim:

Dim misc(5) As String
seu codigo ficaria assim:
misc(0)=centena()&dezena()&unidade() = imprime 123
misc(1)=centena()&unidade()&dezena() = imprime 132
misc(2)=dezena()&centena()&unidade() = imprime 213
misc(3)=dezena()&unidade()&centena() = imprime 231
misc(4)=unidade()&centena()&dezena() = imprime 312
misc(5)=unidade()&dezena()&centena() = imprime 321[/code] fazendo isso, o codigo que eu passei funcionaria:
[code]For i = 1 To 5
     For j = 0 To i - 1
          If misc(i) = misc(j) Then
               -- se chegar aqui, misc(i) é repetido --
          End If
     Next
Next
e você faria o insert assim:
Insert into TabNumero(nu01,nu02,nu03,nu04,nu05,nu06) values ('"& misc(0) &"', '"& misc(1) &"', '"& misc(2) &"', '"& misc(3) &"', '"& misc(4) &"', '"& misc(5) &"')"

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado a todos que se empenharam em me ajudar neste tópico.

A idéia do Kuroi foi aproveitada, valeu. o código ficou assim:

<%
centena=request.QueryString("centena")
dezena=request.QueryString("dezena")
unidade=request.QueryString("unidade")
%>
<%
Dim misc(5)

misc(0)=centena&dezena&unidade
misc(1)=centena&unidade&dezena
misc(2)=dezena&centena&unidade
misc(3)=dezena&unidade&centena
misc(4)=unidade&centena&dezena
misc(5)=unidade&dezena&centena

For i= 0 to 5
    For j = 0 To i - 1
          If misc(i) = misc(j) Then
               misc(i)=""
          End If
     Next
Next

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi sua mensagem honorável Guru Kuroi:

o código ficou assim:

<%
centena=request.QueryString("centena")
dezena=request.QueryString("dezena")
unidade=request.QueryString("unidade")

Dim misc(5)

misc(0)=centena&dezena&unidade
misc(1)=centena&unidade&dezena
misc(2)=dezena&centena&unidade
misc(3)=dezena&unidade&centena
misc(4)=unidade&centena&dezena
misc(5)=unidade&dezena&centena

For i= 0 to 5
    For j = 0 To i - 1
          If misc(i) = misc(j) Then
               misc(i)=" "
          End If
     Next
Next

function contar()
Dim cont(5)

cont(0)=replace(misc(0)," ","0")
cont(1)=replace(misc(1)," ","0")
cont(2)=replace(misc(2)," ","0")
cont(3)=replace(misc(3)," ","0")
cont(4)=replace(misc(4)," ","0")
cont(5)=replace(misc(5)," ","0")

For n= 0 to 5
    If cont(n)<>"0" then
    cont(n)="1"
    end if
Next
contar=cdbl(cont(0))+cdbl(cont(1))+cdbl(cont(2))+cdbl(cont(3))+cdbl(cont(4))+cdbl(cont(5))
end function
%>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...