Ir para conteúdo

POWERED BY:

Arquivado

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

David Borges

Crítica Construtiva de Código

Recommended Posts

Olá pessoal, estou montando um código para utilizar em projetos futuros. Algo que limpe um pouco meu código.

 

É um pouco de gambiarra, mas ví nessa gambiarra um novo jeito de fazer interações com banco de dados.

 

A lógica é simples, montei um arquivo com funções padrões para inclusão, edição e exclusão de dados no banco de dados. A diferença das funções que encontrei por aí e as minhas, é que com essas funções criadas posso editar qualquer tabela com 1 linha de código.

 

Como é um código para projetos futuros, gostaria de receber críticas construtivas em relação ao código e sua aplicabilidade, levando em consideração a performance, é claro.

 

Vou postar apenas 1 dos códigos para avaliação, mas caso alguém queira os demais, mesmo que seja só para estudo, posso postar depois.

 

Arquivo funcoes.asp (apenas um trecho)

<%
function adiciona_registro(tabela,coluna,dado)

arrayColunas = Split(coluna,"|||")
arrayDados = Split(dado,"|||")


For i = 0 to Ubound(arrayColunas)
colunas = colunas & arrayColunas(i)&", " 
Next
diminui_caractere=(len(colunas)-2)
colunas = left(colunas,diminui_caractere) 'retirando vírgula que sobrou para não dar erro no sql


For i = 0 to Ubound(arrayDados)
dados = dados &"'"& arrayDados(i)&"', " 
Next
diminui_caractere=(len(dados)-2)
dados = left(dados,diminui_caractere)  'retirando vírgula que sobrou para não dar erro no sql

call abre_conexao(cnx)
sql="INSERT INTO "&tabela&" ("&colunas&") values ("&dados&")"
response.Write(sql)
cnx.Execute(SQL)
call fecha_conexao()


end function
%>

 

Arquivo Teste.asp

<%
call adiciona_registro("tb_admin","login_tb_admin|||senha_tb_admin","david|||teste")
%>

 

Reparem que na função "adiciona_registro()", posso passar quantas colunas e quantos dados eu quiser, sempre separados por "|||", pois a função:

 

- resgata qual a tabela será editada;

- resgata o conjunto de colunas separados por |||, dá um split pelo ||| e monta parte do sql;

- resgata o conjunto de dados separados por |||, dá um split pelo ||| e monta parte do sql;

- abre conexao;

- executa sql; e

- fecha conexao.

 

Vamos lá pessoal, comentem utilizando suas experiências, por favor.

 

Ah, tem um detalhe, não declarei nenhuma variável pois preciso ver aqui se o código realmente é funcional ou se vocês descartariam qualquer forma de utilização do mesmo.

 

Abração e obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma forma muito boa é usar componente para isso, cria uma dll que faz uma o acesso a ao bd, uma para o INSERT, uma para UPDATE, SELECT e DELETE, e depois cria atraves do createobject e depois passa os parametros ou use stored procedure, você terá uma ganho de performance

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.