Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Gostaria de saber a opnião de vocês asper's.
Avaliando performance e tudo mais.
Analisem os 3 códigos e digam-me qual seria o melhor num todo.
Nota rápida. a intenção é inserir 1 novo registro no banco de dados, mas antes, verificamos a existencia do dado. Caso encontre um departamente já cadastrado com o mesmo nome, retorna erro, caso contrário(caso nao exista nenhum dpartamento com o nome q estamos tentando inserir), é inserido o novo registro.
A questão que quero chegar é o q vale mais aí em todas questões, inclusive de performance no servidor, levando em consideração um código menor ou um código maior.
codigo1: neste primeiro verificamos tudo e guardados numa variavel se foi bem sucedido ou nao a rotina. depois fechamos tudo e em sguida, verificamos a variaval e redirecionamos
dim blnAcao, dep: dep="Qualquer"'abro conexao, crio o objeto do recordsetrs.open("SELECT departamento_nome FROM departamentos WHERE departamento_nome='"&dep&"'),objCon,1,2if rs.eof then rs.addNew: rs(0)=dep: rs.Update blnAcao=trueend ifrs.close'destruo o objeto do recordset e fecho a conexaoif blnAcao then Response.Redirect("sucesso.asp")Response.Redirect("erro.asp")'caso blnAcao seja false, vai passar em branco pela linha de cima e jah cai akicodigo2: neste segundo verificamos e já redirecionamos, assim, não fechando nada que foi aberto caso a rotina tenha ocorrido OK!
dim dep: dep="Qualquer"'abro conexao, crio o objeto do recordsetrs.open("SELECT departamento_nome FROM departamentos WHERE departamento_nome='"&dep&"'),objCon,1,2if rs.eof then rs.addNew: rs(0)=dep: rs.Update Response.Redirect("sucesso.asp")end ifrs.close'destruo o objeto do recordset e fecho a conexaoResponse.Redirect("erro.asp")'caso blnAcao seja false, vai passar em branco pela linha de cima e jah cai akicodigo3: ou ainda este terceiro.. igual o codigo2, só q menor ainda e com uma leva diferenca, pois agora redirecionamos primeiro em caso de "erro".
dim dep: dep="Qualquer"'abro conexao, crio o objeto do recordsetrs.open("SELECT departamento_nome FROM departamentos WHERE departamento_nome='"&dep&"'),objCon,1,2if NOT rs.eof then Response.Redirect("erro.asp")'notem q aki redirecionamos e nao fechamos nadars.addNew: rs(0)=dep: rs.Updaters.close'destruo o objeto do recordset e fecho a conexaoResponse.Redirect("sucesso.asp")'redirecionamos aki se tudo ok, depois de fechar tudoCarregando comentários...