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

Consulta muito grande com problemas


Notax

Pergunta

Pessoal, bom dia.

Seguinte: tenho uma consulta que tá dando pau... Não mostra mensagem de erro nenhum, mas quando chega a um determinado ponto ela trava... para de mostrar resultados... Eu não quero usar paginação nessa consulta... alguém tem alguma pista do que poderia estar acontecendo?

segue script:

<%
Option Explicit
Response.Expires = 0
Dim objConn, objRs, strQuery, ComandoSQL, Conexao, ddi, mmi, aai, datai, ddf, mmf, aaf, dataf, txtNome, chcNome
Dim strConnection
chcNome = request.form ("chcNome")
if chcNome = "ON" then
call comnome
else
call semnome
end if

Sub semnome()
ddi = request.form ("txtddi")
mmi = request.form ("txtmmi")
aai = request.form ("txtaai")
datai = (ddi &"/"& mmi &"/"& aai)
datai = Cdate(day (datai) &"/"& month (datai) &"/"& year (datai))

ddf = request.form ("txtddf")
mmf = request.form ("txtmmf")
aaf = request.form ("txtaaf")
dataf = (ddf &"/"& mmf &"/"& aaf)
dataf = Cdate(day (dataf) &"/"& month (dataf) &"/"& year (dataf))

Session.LCID=1033
ComandoSQL = "select * from clientes where DATA BETWEEN #" & (datai) & "# and #" & (dataf) & "# ORDER BY DATA ASC"
Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
strQuery = "SELECT * FROM clientes WHERE DATA"
Session.LCID=1046 
Set ObjRs = objConn.Execute(ComandoSQL)
end sub

Sub comnome()
ddi = request.form ("txtddi")
mmi = request.form ("txtmmi")
aai = request.form ("txtaai")
datai = (ddi &"/"& mmi &"/"& aai)
datai = Cdate(day (datai) &"/"& month (datai) &"/"& year (datai))

ddf = request.form ("txtddf")
mmf = request.form ("txtmmf")
aaf = request.form ("txtaaf")
dataf = (ddf &"/"& mmf &"/"& aaf)
dataf = Cdate(day (dataf) &"/"& month (dataf) &"/"& year (dataf))
txtNome = request.form ("txtNome")

Session.LCID=1033
ComandoSQL = "select * from clientes where nome = '" & txtNome &  "' and DATA BETWEEN #" & (datai) & "# and #" & (dataf) & "# ORDER BY DATA ASC"
Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
strQuery = "SELECT * FROM clientes WHERE NOME"
Session.LCID=1046 
Set ObjRs = objConn.Execute(ComandoSQL)
end sub
%>



<html>
<head>
<title></title>
</head>
<body bgcolor="#FFFFFF">
<div align="center" style="width: 756; height: 119"> 
  <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif"><em><strong>Cadastro 
    Clientes (consulta)</strong></em></font><font size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000"> 
    </font></b></font></p>
  <div align="left">
  <table width="650" border="0" cellspacing="0" cellpadding="0" height="1">
    <tr>
      <td width="650" valign="top" height="136"> 
        <table border="0" cellpadding="0" cellspacing="0" width="650">
          <tr bgcolor="ffffff"> 
            <td width="650" colspan="3">
              <table width="100%" border="0" cellspacing="2" cellpadding="2">
                            </table>
              
            </td>
          </tr>
          <tr> 
            <td colspan="3"> 
              <form method="GET" action="action_excluir_clientes.asp">
                  <%While Not objRS.EOF %>
                  <p>&nbsp;</p><table width="650" border="0" cellspacing="0" cellpadding="0" height="1">
                  <tr> 
                    <td height="1" align="center" width="650"> 
                      <table border="0" width="650" height="107" cellpadding="2">
                          <tr bgcolor="#0099FF"> 
                            <td width="266" height="1" align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">NOME 
                              / RAZ&Atilde;O SOCIAL</font></b></font></td>
                            <td width="211" height="1" align="center"> <font size="1" color="FFFFFF"><b></b> 
                              </font> <font size="1" color="FFFFFF"><b><font face="Verdana"> 
                              RG / IE</font></b> </font></td>
                            <td width="222" height="1" align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">CPF 
                              / CNPJ</font></b></font></td>
                            <td width="158" height="1" align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">DATA 
                              COME&Ccedil;O</font></b></font></td>
                          </tr>
                          <tr bgcolor="#FFFFFF"> 
                            <td width="266" height="1" align="center" style="border-style: solid; border-width: 2"> 
                              <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("nome")%>
                                </font> </b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"> 
                              <div align="left"> <font size="-7" face="Arial, Helvetica, sans-serif"><b> 
                                <%Response.write objRS("rg")%>
                                </b></font></div></td>
                            <td width="222" height="1" align="center" style="border-style: solid; border-width: 2"> 
                              <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b> 
                                <%Response.write objRS("cpf")%></a>
                                </b></font></div></td>
                            <td width="158" height="1" align="center" style="border-style: solid; border-width: 2"> 
                              <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("data")%>
                                </font></b></font></div></td>
                          </tr>
                          <tr bgcolor="#0099FF"> 
                            <td height="1" align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">ENDERE&Ccedil;O</font></b></font></td>
                            <td height="1" align="center"> <font size="1" color="FFFFFF"><b></b> 
                              </font> <font size="1" color="FFFFFF"><b><font face="Verdana">BAIRRO</font></b> 
                              </font></td>
                            <td height="1" align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">CIDADE</font></b></font></td>
                            <td height="1" align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">CEP</font></b> 
                              </font></td>
                          </tr>
                          <tr bgcolor="#FFFFFF"> 
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("endereco")%>
                                </font></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("bairro")%>
                                </font></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("cidade")%>
                                </font></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("cep")%>
                                </font></b></font></div></td>
                          </tr>
                          <tr bgcolor="#0099FF"> 
                            <td height="1" align="center"> <font size="1" color="FFFFFF"><b><font face="Verdana">TELEFONE</font></b></font></td>
                            <td height="1" align="center"> <font size="1" color="FFFFFF"><b></b> 
                              </font> <font size="1" color="FFFFFF"><b><font face="Verdana">CELULAR</font></b> 
                              </font></td>
                            <td height="1" align="center"> <font color="FFFFFF" size="1" face="Verdana"><b>TIPO</b></font></td>
                            <td height="1" align="center"> <font size="1" color="FFFFFF"><b></b> 
                              </font> <font size="1" color="FFFFFF"><b><font face="Verdana">N&ordm; 
                              Associados</font></b> </font></td>
                          </tr>
                          <tr bgcolor="#FFFFFF"> 
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><b><font color="#000000"> 
                                <%Response.write objRS("telefone")%>
                                </font></b></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("celular")%>
                                </font></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><b><font color="#000000"> 
                                <%Response.write objRS("tipo")%>
                                </font></b></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("n_assoc")%>
                                </font></b></font></div></td>
                          </tr>
                          <tr bgcolor="#0099FF"> 
                            <td height="16" colspan="2" align="center"> <font size="1" color="FFFFFF"><b></b> 
                              </font> <font color="FFFFFF" size="1" face="Verdana"><b>Representante 
                              1 </b></font><font size="1" color="FFFFFF"><b></b></font></td>
                            <td height="16" align="center"><font color="FFFFFF" size="1" face="Verdana"><b>Fone 
                              Representante 1</b></font></td>
                            <td height="16" align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">E-mail 
                              Representante 1</font></b></font></td>
                          </tr>
                          <tr bgcolor="#FFFFFF"> 
                            <td height="1" colspan="2" align="center" style="border-style: solid; border-width: 2"><div align="center"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                </font></b></font></div>
                              <div align="left"></div>
                              <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("repres1")%>
                                </font></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                              <%Response.write objRS("fonecontato1")%>
                              </font></b></font></b></font></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                              <%Response.write objRS("email1")%>
                              </font></b></font></td>
                          </tr>
                          <tr bgcolor="#0099FF"> 
                            <td height="16" colspan="2" align="center"> <font size="1" color="FFFFFF"><b></b> 
                              </font> <font color="FFFFFF" size="1" face="Verdana"><b>Representante 
                              2 </b></font></td>
                            <td height="16" align="center"><font color="FFFFFF" size="1" face="Verdana"><b>Fone 
                              Representante 2</b></font></td>
                            <td height="16" align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">E-mail 
                              Representante 2</font></b></font></td>
                          </tr>
                          <tr bgcolor="#FFFFFF"> 
                            <td height="1" colspan="2" align="center" style="border-style: solid; border-width: 2"><div align="center"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                </font></b></font></div>
                              <div align="left"></div>
                              <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("repres2")%>
                                </font></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                              <%Response.write objRS("fonecontato2")%>
                              </font></b></font></b></font></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                              <%Response.write objRS("email2")%>
                              </font></b></font></td>
                          </tr>
                          <tr bgcolor="#0099FF"> 
                            <td height="16" colspan="2" align="center"> <font size="1" color="FFFFFF"><b></b> 
                              </font> <font color="FFFFFF" size="1" face="Verdana"><b>Representante 
                              1 </b></font><font size="1" color="FFFFFF"><b></b></font></td>
                            <td height="16" align="center"><font color="FFFFFF" size="1" face="Verdana"><b>Fone 
                              Representante 1</b></font></td>
                            <td height="16" align="center"><font size="1" color="FFFFFF"><b><font face="Verdana">E-mail 
                              Representante 3</font></b></font></td>
                          </tr>
                          <tr bgcolor="#FFFFFF"> 
                            <td height="1" colspan="2" align="center" style="border-style: solid; border-width: 2"><div align="center"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                </font></b></font></div>
                              <div align="left"></div>
                              <div align="left"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                                <%Response.write objRS("repres3")%>
                                </font></b></font></div></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                              <%Response.write objRS("fonecontato3")%>
                              </font></b></font></b></font></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                              <%Response.write objRS("email3")%>
                              </font></b></font></td>
                          </tr>
                          <tr bgcolor="#0099FF"> 
                            <td height="16" colspan="2" align="center"> <font color="FFFFFF" size="1" face="Verdana"><b>Valor 
                              da Mensalidade</b></font></td>
                            <td height="16" align="center"><font color="FFFFFF" size="1" face="Verdana">&nbsp;</font></td>
                            <td height="16" align="center"><font size="1" color="FFFFFF"><b></b></font></td>
                          </tr>
                          <tr bgcolor="#FFFFFF"> 
                            <td height="1" colspan="2" align="center" style="border-style: solid; border-width: 2"><font size="-7" face="Arial, Helvetica, sans-serif"><b><font size="-7" face="Arial, Helvetica, sans-serif"><b><font color="#000000"> 
                              </font><font size="1"><b><font color="#000000" size="-7" face="Arial, Helvetica, sans-serif">
                              <%Response.write formatnumber(objRS("valor"),2)%>
                              </font></b></font><font color="#000000"> </font></b></font></b></font></td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2">&nbsp;</td>
                            <td height="1" align="center" style="border-style: solid; border-width: 2">&nbsp;</td>
                          </tr>
                          <tr bgcolor="#FF9900"> 
                            <td height="1" colspan="4" align="center" style="border-style: solid; border-width: 2">&nbsp;</td>
                          </tr>
                          <%
  'Movendo para o proximo registro
  objRS.MoveNext
  Wend
    %>
                        </table>
                    </td>
                  </tr>
                </table>
              </form>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  </div>
  <%  
  objRs.close
  objConn.close
  Set objRs = Nothing
  Set objConn = Nothing
  %>
</div>
</body>
</html>

[]'s Notax

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Eu só olhei por cima então o que eu vi é que você tem 3 selects no banco, perguntas:

- realmente é necessário trazer TODOS os registros? Quando você usa o * você está trazendo todos os campos da tabela e se você só vai exibir um ou outro, troque o * pelos campos que você deseja. Isso já "alivia" o processamento

- porque 3 selects? Sendo que todos esses selects são na mesma tabela, então repense a forma de fazer isso e tente enxugar para apenas um select

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Andreia, brigadão pela ajuda... demorei pra responder por que estava fazendo vários outros testes... mas ainda não consegui resolver esse problema!

Eu to usando o * porque realmente preciso imprimir na tela todos os campos do BD.

Eu vi ali que na verdade eu tinha 4 selects, sendo que eram dois em cada sub... e as subs são executadas individualmente... De qualquer forma eu só estava executando de fato dois selects... portanto eliminei os outros dois, mas mesmo assim não resolveu o problema... Lembrando que estes dois selects que eu deixei são executados individualmente... um em cada sub.

Continua o mesmo problema... chega em um momento único da consulta que trava e nada mais acontece... ficando a consulta incompleta sem apresentar nenhum tipo de erro! Na verdade a consulta nem é TÃO grande assim, são 100 linhas com 21 colunas...

Alguma outra dica?

valeu a força.

[]'s Notax

Link para o comentário
Compartilhar em outros sites

  • 0

Bah minha amiga... O retorno do resultado no bd é instantaneo! Não demora nada...

Tive olhando aqui... e o que eu achei esquisito é que tenho consultas até maiores do que esta e que não dão problema nenhum... acho que realmente deve ter alguma coisa no meu código com problema... algum erro que eu não esteja vendo... o difícil é que não ta dando erro nenhum!

Rola mais alguma dica?

[]'s Notax

Link para o comentário
Compartilhar em outros sites

  • 0

Então... Voltando ao problema... Debuguei conforme a Andreia sugeriu... campo por campo... continua travando a consulta no mesmo lugar, independente do campo consultado. O mais engraçado é que no IE ela tranca sempre um pouco antes (por exemplo na posição 50) já no FF ela vai um pouquinho mais (por exemplo posição 60)... Não sei o que pode estar errado, me parece que o que está acontecendo é que a consulta não deva estar acontecendo por algum problema na formação das tabelas, sei lá, derepente estão "pesadas" demais... Será que rola mais uma força?

[]'s Notax

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, boa noite... Então... na verdade ainda não consegui resolver este problema...

Fiz uma gambiarra aqui para ajudar... mas resolver ainda não...

Determinadas consultas que tenho apresentam erros por serem muito grandes, ou seja, muitos dados no bd a serem impressos em tela... Quando eu limito a qtde de dados a serem impressos funciona... mas isso não chega a ser uma solução, porque muitas vezes preciso da consulta completa mesmo... e nesse caso tranca ou até mesmo dá uma mensagem de erro, como essa abaixo:

Response object error 'ASP 0251 : 80004005'

Response Buffer Limit Exceeded

/contas_resultado_consulta.asp, line 0

Execution of the ASP page caused the Response Buffer to exceed its configured limit.

Já to tentando alguma coisa em nivel de servidor... mas será que não existe nenhuma forma de corrigir este problema através dos scripts?

[]'s Notax

Editado por Notax
Link para o comentário
Compartilhar em outros sites

  • 0

Opa Anderson, beleza?

A idéia é a de não usar a paginação... apenas como último recurso! será que é possível alguma outra forma?

EDITADO:

Pessoal, tinha isso aqui em cima do meu código:

Response.Expires = 0

daí eu dei uma pesquisada no google e tentei assim:

Response.Buffer = false

expantosamente funcionou!!! a questão é: alguém sabe me explicar o por que???

[]'s Notax

Editado por Notax
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...