Ir para conteúdo

POWERED BY:

Arquivado

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

nordi

SESSION+SPLIT+INSERT

Recommended Posts

AO PESSOAL MT BOA TARDE... BEM ESTOU HOJE ENFRENTANDO UM SEGUINTE PROBLEMA... TENHO UM SISTEMA DE ITEM ONDE EU CRIEU UM ARRAY DE SESSION ONDE TODOS OS ITEM INSERIDOS SAO ALOGADOS EM UMA SESSION E AGORA PRECISO FAZER UM INSERT PARA VER INSERIR TODOS OS ITEM Q EU INSERI UMA SESSION... COM POSSO FAZER ISSO O ... FIZ UM EXEMPLO SIMPLES ONDE EXPLICA COM ESTOU FAZENDO POR FAVOR AJUDEM...<html><head><title>Teste</title></head><body><%If Request.Form("acao")="Inserir" and Request.Form("txtProd")<>"" Then Session("Prods") = Session("Prods") & "," & Request.Form("txtProd") Session("Unid") = Session("Unid") & "," & Request.Form("txtUnid") Session("Desc") = Session("Desc") & "," & Request.Form("txtDesc")Elseif Request.Form("acao")="Gravar" Then 'Escreva aqui o codigo de inserçãoEnd If%><form name="frmProds" method="Post" action="index.asp"><input type="hidden" name="Enviado" value="s"><table cellpadding="2" cellspacing="0" border="0"><tr> <td>Produto:</td> <td><input type="text" name="txtProd" maxlength="30" size="30"></td></tr><tr> <td>Unidade:</td> <td><input type="text" name="txtUnid" maxlength="3" size="3"></td></tr><tr> <td>Descrição:</td> <td><textarea name="txtDesc" cols="23" rows="5"></textarea></td></tr><tr> <td><input type="submit" value="Inserir" name="acao"></td> <td><input type="submit" value="Gravar" name="acao"></td></tr></table></form><table cellpadding="2" cellspacing="1" width="100%" bgcolor="darkblue"><tr style="color:#ffffff;"> <td width="30%">Produto</td> <td width="10%">Unid.:</td> <td width="60%">Descrição:</td></tr><%Dim Prods, Unid, DescProds = Split(Session("Prods"),",")Unid = Split(Session("Unid"),",")Desc = Split(Session("Desc"),",")For X = LBound(Prods) to UBound(Prods) If Prods(X)<>"" then%> <tr bgcolor="white"> <td><%=Prods(X)%></td> <td><%=Unid(X)%></td> <td><%=Desc(X)%></td> </tr><% End IfNext%></table></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o split para separar os valores pelo delimitador q você utilizou e usa o FOR para listar...não tem segredo!falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve dar o split em cada session e armazenar em variaveis tipo asimVar1 = Split(Session("1"),",")Var2 = Split(Session("2"),",")Var3 = Split(Session("3"),",")depois insereFOR I = LBOUND(Var1) TO UBOUND(Var1)INSERT INTO tabela (campo1,campo2,campo3) VALUES ('" & Var1(I) & "','" & Var2(I) & "','" & Var3(I) & "')"NEXT

Compartilhar este post


Link para o post
Compartilhar em outros sites

FOR X = LBOUND(QTD) TO UBOUND(QTD) SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & session("QTD" & X) & "')"conexao.execute(SQL)quando mando executar ele da uma mensagem de erro e fala q LBOUND e um tipo incompativel...

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde esta definido QTD

Compartilhar este post


Link para o post
Compartilhar em outros sites

se liga fiz assim e ele inseriu 5 vezes em branco o registro...If Request.form("acao")="Ok" then Session("Qtd") = Request.Form("txtQtd") Qtd = split(session("qtd"),",") AbreConexao() FOR X = LBOUND(QTD) TO UBOUND(QTD) SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & session("QTD" & X) & "')" conexao.execute(SQL) next End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

FOR X = LBOUND(QTD) TO UBOUND(QTD)SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & session("QTD" & X) & "')"conexao.execute(SQL)next

muda a SQL pra
SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & QTD(X) & "')"
se o valor for texto se for numero tira as aspas simples

Compartilhar este post


Link para o post
Compartilhar em outros sites

em pessoal antes de tudo muito obrigado pela ajuda... te todo em pricipalmente do Sr. Mario, rOcKLoCo...Mas ainda nao tive sucesso... o que acontece e ele multiplica as session e nao grava valor nenhum.... tenho um bd sql server... segue logo abaixo o cod. do insertIf Request.form("acao")="Ok" then Session("Qtd") = Session("Qtd") & "," & Request.Form("txtQtd")Qtd = split(session("qtd"),",")AbreConexao()FOR X = LBOUND(QTD) TO UBOUND(QTD)SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & session("QTD" & X) & "')" conexao.execute(SQL)nextEnd If

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & session("QTD" & X) & "')"

a linha citada ainda está assim?se tiver muda como disse antes
SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & QTD(X) & "')"
so tem cuidado pra ver se o campo é numerico ou texto

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok... estamos quase lá... mas uma vez muito obrigado pela orientação....cara o que acontece que ele adiciona uma linha antes de inserir o registro e outro no final do registro.... muito estranho... né.ficou assimIf Request.form("acao")="Ok" thenSession("Qtd") = Session("Qtd") & "," & Request.Form("txtQtd")Qtd = split(session("qtd"),",")AbreConexao()FOR X = LBOUND(QTD) TO UBOUND(QTD)SQL = "INSERT TB_DOACAO_ITEM (QTD) VALUES ('" & QTD(X) & "')"conexao.execute(SQL)nextEnd If

Compartilhar este post


Link para o post
Compartilhar em outros sites

manda escrever sua session na tela pra ver como ela esta se aprensetando

 

antes deste codigo pra inserir poe

 

[tr][/tr][tr][/tr]
ASP response.write ("session = " & Session("Qtd"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

escreve aqui o que ele poe, ve se tem virgula antes ou depois da session

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.