none
Processamento em lote, usando ASP Form e table RRS feed

  • Pergunta

  •        Pessoal, seguinte: Possuo uma pagina ASP, que busca algumas informacoes do meu BD e exibe numa tabela.

           No comeco dessa pagina possuo um botao que ira executar algumas validacoes dos registros exibidos na tabela e os registros que estiverem validos serao processados e atualizados.

           Minha duvida e qual a forma correta e a melhor forma de executar esse codigo? Como fazer esse processamento em lote das informacoes exibidas na tabela?

           Irei colocar abaixo um trecho do codigo:

     

    'Definindo o ASPForm

    <form name="Form1" action="Principal_AutorizarLote.asp" method="POST"></form>

     

    'Botao que ira executar o processamento em lote

    <input name="cmdAutorizarLote" type="submit" value="Autorizar Lote" onClick="AutorizarLote()"; style="WIDTH: 150px; height: 40px;"/>

     

    'Toda a parte de criacao e exibicao da tabela

    <br>
    <table border="1" width="100%">
      <tr>
       <td width="1%" align="center" id="Titulo"><b>1</b></td>
        <td width="7%" align="center" id="Titulo"><b>Produto</b></td>
        <td width="8%" align="center" id="Titulo"><b>Subconta / Arbor_Id</b></td>
        <td width="35%" align="center" id="Titulo"><b>Nome / Razão Social</b></td>
        <td width="8%" align="center" id="Titulo"><b>Valor sem Desconto</b></td>
        <td width="8%" align="center" id="Titulo"><b>Valor com Desconto</b></td>
        <td width="7%" align="center" id="Titulo"><b>Status carta</b></td>
     <td width="9%" align="center" id="Titulo"><b>Autorizar</b></td>
     <td width="9%" align="center" id="Titulo"><b>Cancelar</b></td>
     <td width="9%" align="center" id="Titulo"><b>Visualizar</b></td>
      </tr>
      <tr>
    <%
    'Verifica se a pesquisa foi executada
    If cstr(txtPesquisa) <> "" or cint(Request("pagina")) > 0 then
     Const adOpenForwardOnly = 0
     Const adLockReadOnly = 1
     Const adUseClient = 3

     Err.number = 0
     Err.description = ""

     Conecta_Base_CACS()
      
     Set objRS = Server.CreateObject("ADODB.Recordset")
        
     objRS.Source = ("SELECT CPLF.NUM_SEQUENCE ID, " & _
         "  CPLF.TIPO_PRODUTO TIPO_PRODUTO, " & _
         "       CPLF.CASE_ID SUBCONTA, " & _
         "       CPLF.NOM_RAZ_SOC_CLI NOME, " & _
         "       TRUNC(CPLF.VAL_TOT_SEM_DESC) VAL_S_DESC, " & _
         "       TRUNC(CPLF.VAL_TOT_COM_DESC) VAL_C_DESC, " & _
         "  CPLF.STATUS_CARTA STATUS_CARTA, " & _
         "  TO_CHAR(CPLF.DT_GER_ARQUIVO,'DD/MM/YYYY') DATA_GERACAO " & _
         "FROM CI_PREVIEW_LETTER_FILE CPLF")

     objRS.PageSize = 5
     objRS.CacheSize = 5
     objRS.CursorLocation = adUseClient
      
     objRS.Open , objConn, adOpenForwardOnly, adLockReadOnly
     
     'RESPONSE.Write(OBJRS.SOURCE)
     'RESPONSE.Write(ERR.NUMBER & ERR.DESCRIPTION)
     'RESPONSE.End()
      
     If Err.Number <> 0 Then
      objRS.Close
      Set objRS = nothing
      Desconecta_Conn()
      session("vErro") = "Erro na tentativa de conexão com o banco de dados ao executar a consulta!" & err.number & err.description
      response.Redirect "erro.asp"
     End if

     If Len(Request("pagina")) = 0  Then
      objRS.AbsolutePage = 1
     Else
      If CInt(Request("pagina")) <= objRS.PageCount Then
       objRS.AbsolutePage = Request("pagina")
      Else
       objRS.AbsolutePage = 1
      End If
     End If
      
     Dim abspage, pagecnt
     abspage = objRS.AbsolutePage
     pagecnt = objRS.PageCount
      
     If Not objRS.EOF Then  
        
      For i=1 To objRS.PageSize
       IF (i mod 2) = 0  then
        CorLinha = "#FFFFFF"
          ELSE
        CorLinha = "#CCCCCC"
          END IF 
       
       If Not objRS.EOF Then %>
      <TR>
        <td id="Dados" BGCOLOR="<% =CorLinha %>"><font size="2"><% = objRS("ID") %></font></td>
      <td id="Dados" BGCOLOR="<% =CorLinha %>"><font size="2"><% = objRS("TIPO_PRODUTO") %></font></td>
      <td id="Dados" BGCOLOR="<% =CorLinha %>"><font size="2"><% = objRS("SUBCONTA") %></font></td>
      <td id="Dados" BGCOLOR="<% =CorLinha %>"><font size="2"><% = objRS("NOME") %></font></td>
      <td id="Dados" BGCOLOR="<% =CorLinha %>"><font size="2"><% = objRS("VAL_S_DESC") %></font></td>
      <td id="Dados" BGCOLOR="<% =CorLinha %>"><font size="2"><% = objRS("VAL_C_DESC") %></font></td>
      <td id="Dados" BGCOLOR="<% =CorLinha %>"><font size="2"><% = objRS("STATUS_CARTA") %></font></td>
      <% if cstr(objRS("STATUS_CARTA")) = "01" then %>
       <td align="center" id="Dados" BGCOLOR="<% =CorLinha %>"><input name="cmdAutorizar" type="submit" value="Autorizar" style="WIDTH: 90px;"></td>
      <%else%>
       <td align="center" id="Dados" BGCOLOR="<% =CorLinha %>"><input name="cmdAutorizar" type="submit" value="Autorizar" disabled="disabled" style="WIDTH: 90px;"></td>
      <%end if%>
      <%if (cstr(objRS("STATUS_CARTA")) = "01") or (cstr(objRS("STATUS_CARTA")) = "02" and cstr(objRS("DATA_GERACAO")) = "") then %>
       <td align="center" id="Dados" BGCOLOR="<% =CorLinha %>"><input name="cmdCancelar" type="submit" value="Cancelar" style="WIDTH: 90px;"></td> 
      <%else%>
       <td align="center" id="Dados" BGCOLOR="<% =CorLinha %>"><input name="cmdCancelar" type="submit" value="Cancelar" disabled="disabled" style="WIDTH: 90px;"></td>
      <%end if%>
      <td align="center" id="Dados" BGCOLOR="<% =CorLinha %>"><input name="cmdVisualizar" type="submit" value="Visualizar" style="WIDTH: 90px;"></td>
      </TR>
        <% objRS.MoveNext
       End If
      Next %>

       <TR>
         <td colspan="0" align="center" id="Dados">
      <% If abspage > 1 then %>
       <b><a href="Principal.asp?pagina=<%=abspage-1%>">Anterior</a></b>
      <% End if %>
      </td>
      <td colspan="7" id="Dados"></td>
         <td  align="center" id="Dados">
      <% If pagecnt > abspage then %>
       <b><a href="Principal.asp?pagina=<%=abspage+1%>">Próximo</a></b>
      <% End if %>
      </td> 
       </tr> 
    <%
     end if
    end if
       
    Desconecta_Conn
    %>
    </table>

    Fico aguardando algum comentario e ajuda..

    Abracos.

    terça-feira, 25 de novembro de 2008 20:57

Todas as Respostas