Como tem muita gente perguntando sobre o getRows e como trabalhar com array, esse é um conjunto de funções e sub-rotinas para trabalhar com dados. Isso tudo pode ser colocado em um só arquivo e usado como include.
Obs: A conexão está sendo feita para o MySql, para outros bancos é só trocar a string
<%
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::: CONSTANTES UTILIZADAS (PODEM SER CRIPTOGRAFADAS)
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
const cStrUsuario = "usuario" ' ::: Usuário para o banco
const cStrSenha = "senha" ' ::: Senha para o banco
const cStrHost = "192.168.0.1" ' ::: Host onde encontra-se o banco
const cStrDB = "banco" ' ::: Nome do banco de dados
const cBlnDebug = true ' ::: Se verdadeiro, está em modo de depuração
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::: DECLARANDO VARIÁVEIS PÚBLICAS
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Dim aryDados ' ::: Array de dados padrão
Dim oConn ' ::: Objeto de conexão padrão
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::: SUB-ROTINA PARA ABRIR UMA CONEXÃO COM O BANCO
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Sub abreConexao()
' ::: Pula os erros
On Error Resume Next
Dim strConn ' ::: Variável receberá a string de conexão
' ::: Instancia o objeto de conexão
set oConn = server.CreateObject("ADODB.Connection")
' ::: Atribui a string de conexão
strConn = "DRIVER={MySQL};SERVER=" & cStrHost & _
";DATABASE=" & cStrDB & _
";USER=" & cStrUsuario & _
";PWD=" & cStrSenha
' ::: Abre a conexão
oConn.open strConn
' ::: Tratamento de Erros
if err <> 0 and cBlnDebug then
response.write "Erro na abertura da conexão<BR>" & _
"<b>Descrição:</b>" & err.description & "<BR>" & _
"<b>String:</b>" & strConn & "<BR>"
response.end
end if
End Sub
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::: SUB-ROTINA PARA FECHAR UMA CONEXÃO COM O BANCO
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Sub fechaConexao()
' ::: Pula os erros
On Error Resume Next
' ::: Fecha a conexão
oConn.close
' ::: Tratamento de Erros
if err <> 0 and cBlnDebug then
response.write "Erro no fechamento da conexão<BR>" & _
"<b>Descrição:</b>" & err.description & "<BR>"
response.end
end if
' ::: Destrói a instãncia do objeto
set oConn = nothing
End Sub
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::: FUNÇÃO PARA EXECUTAR COMANDOS DML (Data Manipulation Language)
' ::: Ex: Insert, Update, Delete
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function executaDML(byVal pSql)
' ::: Pula os erros
On Error Resume Next
Dim blnRetorno ' ::: Valor booleano q conterá o resultado da função
blnRetorno = false ' ::: A função retorna falso a priori
Dim oRs ' ::: Objeto recordset
if pSql <> "" then
' ::: Abre a conexão com o banco
call abreConexao()
' ::: Instancia o objeto recordset
set oRs = server.createObject("ADODB.Recordset")
' ::: Executa a cláusula sql, atribuindo ao recordset
set oRs = oConn.execute(pSql)
' ::: Tratamento de Erros
if err <> 0 and cBlnDebug then
response.write "Erro ao executar comando DML<BR>" & _
"<b>Descrição:</b>" & err.description & "<BR>" & _
"<b>String:</b>" & pSql & "<BR>"
response.end
elseif err = 0 then ' ::: Sem erros, retorna verdadeiro
blnRetorno = true
end if
' ::: Fecha o recordset
oRs.close
' ::: Destrói instância do objeto
set oRs = nothing
' ::: Fecha a conexão
call fechaConexao()
end if
' ::: Retorna o resultado
executaDML = blnRetorno
end function
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::: SUB-ROTINA QUE EXECUTA UMA CONSULTA, ATRIBUINDO AO ARRAY PADRÃO
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Sub consulta(byVal pSql)
' ::: Pula os erros
On Error Resume Next
if pSql <> "" then
' ::: Abre a conexão com o banco
call abreConexao()
' ::: Instancia o objeto recordset
set oRs = server.createObject("ADODB.Recordset")
' ::: Executa a cláusula sql, atribuindo ao recordset
set oRs = oConn.execute(pSql)
' ::: Tratamento de Erros
if err <> 0 and cBlnDebug then
response.write "Erro ao executar consulta<BR>" & _
"<b>Descrição:</b>" & err.description & "<BR>" & _
"<b>String:</b>" & pSql & "<BR>"
response.end
end if
' ::: Atribui o resultado do recordset ao array
' ::: Se a consulta não retornar valores, o valor virá numa string vazia ""
aryDados = oRs.getRows()
' ::: Fecha o recordset
oRs.close
' ::: Destrói instância do objeto
set oRs = nothing
' ::: Fecha a conexão
call fechaConexao()
end if
End Sub
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' ::: SUB-ROTINA QUE EXECUTA UMA CONSULTA, ATRIBUINDO AO ARRAY PASSADO
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Sub consultaParam(byVal pSql, byRef pAry)
' ::: Pula os erros
On Error Resume Next
if pSql <> "" then
' ::: Abre a conexão com o banco
call abreConexao()
' ::: Instancia o objeto recordset
set oRs = server.createObject("ADODB.Recordset")
' ::: Executa a cláusula sql, atribuindo ao recordset
set oRs = oConn.execute(pSql)
' ::: Tratamento de Erros
if err <> 0 and cBlnDebug then
response.write "Erro ao executar consulta<BR>" & _
"<b>Descrição:</b>" & err.description & "<BR>" & _
"<b>String:</b>" & pSql & "<BR>"
response.end
end if
' ::: Atribui o resultado do recordset ao array
pAry = oRs.getRows()
' ::: Fecha o recordset
oRs.close
' ::: Destrói instância do objeto
set oRs = nothing
' ::: Fecha a conexão
call fechaConexao()
end if
End Sub
' ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
%>
Agora, dois exemplos, primeiro para executar um insert:
<%
Dim strSql
strSql = "INSERT INTO pdt_produto(pdt_vchNome) VALUES('teste')"
if executaDML(strSql) then
response.write "Inclusão com sucesso!!"
else
response.write "Erro durante inclusão!"
end if
%>
Executando uma consulta e escrevendo a lista:
Dim strSql, i
strSql = "SELECT campo1, campo2 FROM tabela"
call consulta(strSql)
if isArray(aryDados) then
for i = 0 to uBound(aryDados,2)
response.write "<tr>" & _
" <td>"&aryDados(0,i)&"</td>" & _
" <td>"&aryDados(1,i)&"</td>" & _
"</tr>"
next
end if
Pergunta
felipefrancesco
Pessoal,
Como tem muita gente perguntando sobre o getRows e como trabalhar com array, esse é um conjunto de funções e sub-rotinas para trabalhar com dados. Isso tudo pode ser colocado em um só arquivo e usado como include.
Obs: A conexão está sendo feita para o MySql, para outros bancos é só trocar a string
Agora, dois exemplos, primeiro para executar um insert: Executando uma consulta e escrevendo a lista:É isso ai!!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.