quinta-feira, 9 de maio de 2002

Pare de concatenar strings SQL!

Pare de concatenar strings SQL! Crie um arquivo, chamado preparaSQL.js, com o seguinte texto:

function prepareSQL(txt){
 var resp,vartxt,rgxp
 while(true){
  vartxt=txt.replace(/[^@]*@([\d\w]*).*/,"$1")
  if(vartxt==txt){
   return vartxt
  }else{
   if(eval("typeof("+vartxt+")")=="undefined"){
    resp="NULL"
   }else if(eval("typeof("+vartxt+")")=="number"){
    resp=eval(vartxt)
   }else{
    resp=(eval(vartxt)+"").replace(/'/g,"''")
    if(resp!="NULL")resp="'"+resp+"'"
   }
   rgxp=eval("/@"+vartxt+"/gi")
   txt=txt.replace(rgxp,resp)
  }
 }
}

Daí, em seus arquivos ASP, basta colocar, por exemplo, o seguinte:

<script src="preparaSQL.js" runat=server>
</script>
<%
nome=request.QueryString("nome")
codigo=request.QueryString("codigo")
preco=request.QueryString("preco")
sql=prepareSQL("update produto set nome=@nome, preco=@preco where codigo=@codigo")
conn.Execute(sql)
%>


Esta matéria foi postada originalmente no ASP4Developers por Elcio Luiz Ferreira (site), que na época era " analista-programador apaixonado por javascript, ex-professor, músico amador, ciclista amador, teólogo amador, filósofo amador, escritor amador e comediante amador.". Hoje, vai saber...

0 comentários: