NOTÍCIA

Usar arrays para armazenar dados num bd

Porque usar arrays para armazenar
dados em um banco de dados↳Banco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data → com ASP?

Nos códigos asp, você deve começar
a ter o hábito de usar arrays para armazenar dados retornados
de SQL, Access, ou qualquer outra query de banco de
dados. Para este artigo, nós estaremos colocando recordset
(RS) em um array denominado RSArray,
isto irá melhorar bem o desempenho.  

Ao tratar os resultados do banco de
dados do ASP no formulário de um recordset (RS), você
deve imediatamente colocar o RS em um array e
setar RS = Nothing. Isso
porque trabalhar com recordsets ocasiona sobrecarga
no servidor, especialmente em casos como MoveNext,
rs(“campo”) e rs.RecordCount. É bem mais eficiente
definir Array
= RS e logo depois destruir o recordset.
Agora você tem uma carga bem menor no servidor, e
ainda, um desempenho melhor! Abaixo demonstramos um
código de acesso seguindo esta teoria:

RSArray =
RS.getrows

“RSArray é bidimensional agora RSArray(Field,
Record)
Numero_de_Campos = Cdbl(UBound(RSArray, 1))
Numero_de_Registros = Cdbl(UBound(RSArray,
2))
For R = 0 to Numero_de_Registros 
   
For F = 0 to Numero_de_Campos
         
Response.Write ”  ” & RSArray(F, R) &
”  “
    Next
   Response.Write “<p>”
Next

Aqui está o retorno de nosso exemplo,
o layout para retorno de dados que nós usamos:

F1, R1 F2, R1 F3, R1 F4, R1
F1, R2 F2, R2 F3, R2 F4, R2

Exemplo ASP:

<%
“A conexão é feita normalmente
Set DBConnection = Server.CreateObject(“adodb.connection”)
DSN = “DRIVER={Microsoft Access Driver (*.mdb)}; “
DSN = DSN & “DBQ=” & Server.Mappath(“pasta/database.mdb”)
DSN = DSN & “;PWD=senha”
DBConnection.Open DSN

Response.Write “Base
de Dados aberta <br>“

“Criara uma Query
    SQL = “Select * From Customers
Where Country = “Mexico””
“Pega o Record Set
    Set RS = DBConnection.Execute(SQL)

Select Case RS.eof
    Case False
        RSArray
= RS.getrows
        “RSArray(Field,
Record)
        Numero_de_Campos
= Cdbl(UBound(RSArray, 1))
        Numero_de_Registros
= Cdbl(UBound(RSArray, 2))%>
           
<table border=”1″
width=”300″> 

           
<%For R = 0 to Numero_de_Registros 
           
Response.Write “<tr>”

           
For F = 0 to Numero_de_Campos
                 
Response.Write “<td>
” & RSArray(F, R) & “</td>
“
           
Next
          
Response.Write “</tr>“
        Next
        Response.Write
“</table>“
    Case True
        Response.Write
“Não há registros!“
End Select

“Agora destruiremos
o recordset (RS)
    Set RS = Nothing
Response.Write “<br>Base
de dados fechada <br>“
%>

  Nota: Dinâmicamente,
criar as tabelas povoadas com seus dados, fará ferramentas
administrativas muito mais fáceis

 

Matérias especiais e reportagens conduzidas internamente pela Redação iMasters. Acompanhe no Twitter @imasters e no Instagram/Threads @portalimasters

Mais de Redação iMasters
Ver perfil →