NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosProgweb : Sistemaasp003
Quer receber novidades e e-books gratuitos?

Sistema em ASP 3.0 utilizando 3 camadas – Parte 3

 

Antes de começar a ler sobre este artigo (Parte 3), acesse os outros artigos para o perfeito entendimento sobre a idéia da criação do software e a tecnologia.

 

- Parte 1

- Parte 2

 

A Parte 1, mostrei como criar a página e inserir valores utilizando três camadas com ASP 3.0 e Visual Basic 6.0. A Parte 2 mostrei como criar uma consulta utilizando stored procedure, ASP 3.0 e Visual Basic 6.0 e no final mostrar dentro da página utilizando o comando “for e UBOUND”. Para mais detalhes dos tópicos acima, acesse os links indicados.

 

Esta Parte 3 continuarei com a mesma página de fornecedores acrescentando apenas o código para excluir do banco de dados clicando na imagem responsável e passando o parâmetro. Depois da pesquisa de dados da página, terá o link para excluir cujo chamará o componente registrado no COM PLUS responsável pelo acesso ao banco de dados, passando os parâmetros para a stored procedure que excluirá o dado.

 

O primeiro passo é criar a stored procedure chamada “CPESP098_DELETAR_FORNECEDOR”. (Referência 3.1)

 

CREATE PROCEDURE [dbo].[CPESP098_DELETAR_FORNECEDOR]

      @FOR_NU_SEQUENCIAL      AS INT

AS

      DELETE FROM CPETB042_FORNECEDOR WHERE FOR_NU_SEQUENCIAL = @FOR_NU_SEQUENCIAL

 

Referência: 3.1

 

Lembre-se que utilizarei o mesmo banco de dados criado desde a Parte 1. Note que a SP recebe um parâmetro seqüencial chamado @FOR_NU_SEQUENCIAL do tipo INT e possui comando DELETE onde o FOR_NU_SEQUENCIAL for igual ao parâmetro recebido @FOR_NU_SEQUENCIAL.

 

Pronto, a SP está pronta e falta apenas criar a função dentro da classe “clsFornecedor.cls”. (Referência 3.2)

 

Public Function ExcluirFornecedor(ByVal FOR_NU_SEQUENCIAL As Integer) As Boolean

‘Declarando variáveis

Static sSql As String

Static bRetorno As Boolean

Static bConexao As Boolean

On Error GoTo error

    ‘Abrindo conexao com o banco de dados

    bConexao = AbreConexao("open")

    If bConexao Then

       ‘Definindo sql para ser executada

        sSql = " CPESP098_DELETAR_FORNECEDOR " & FOR_NU_SEQUENCIAL & ""

        ‘ Executando sql chamado pela função ExecutaSQL e retornando valores 

        bRetorno = ExecutaSQL(sSql)

    End If

error:

 

   If Err.Number <> 0 Then

        GerarLog "ExcluirFornecedor", DescricaoErro(1)

   End If

 

   ExcluirFornecedor = bRetorno

   If bConexao Then

       AbreConexao "close"

   End If

End Function

 

Referência: 3.2

 

Figura ilustrativa:

 

Referência: 3.3

 

Explicação:

 

Analisando a função, note que a mesma é pública, recebe um parâmetro do tipo Integer obrigatoriamente e retorna um valor do tipo Boolean, ou seja, true ou false. Declarei as variáveis de uso no decorrer da função, declarei o GoTo Error para que qualquer erro que aconteça dentro da classe, passe automaticamente para a parte responsável pelo tratamento de erro.

 

Abri a conexão com o banco de dados utilizando outra função criada anteriormente. Acompanhe outra série dos artigos publicados no site www.aspneti.com. Segue a primeira parte, seguindo terá a explicação de todas as funções responsáveis pelo tratamento com o banco de dados.

 

Sistema de Login em ASP – Parte I

 

No passo seguinte, verifiquei se a conexão estava realmente aberta para montar a SQL passando o parâmetro recebido no começo da função. Após montar, executo outra function chamada EXECUTASQL(sSql) passando o SQL montado. Caso não der erro nesta função retorna “true”, caso contrário retorna “false”. Por isso a variável “bRetorno” está recebendo o retorno da função. (Referência 3.4).

 

bRetorno = ExecutaSQL(sSql)

 

Referência: 3.4

 

Ao final, verifico se existe algum erro para gerar o Log, caso não haja, a mesma recebe o “bRetorno” e fecha a conexão com o banco de dados. (Referência 3.5).

 

error:

 

   If Err.Number <> 0 Then

        GerarLog "ExcluirFornecedor", DescricaoErro(1)

   End If

 

   ExcluirFornecedor = bRetorno

   If bConexao Then

       AbreConexao "close"

   End If

 

Referência: 3.5

 

Terminado com o componente, gerei a DLL usando o menu FILE / Make (NOME DA APLICACAO).DLL e registrei no servidor de componentes COM PLUS. O próximo passo é modificar um pouco a página “ASP” acrescentando o necessário para excluir clicando na imagem.

 

Em passos anteriores, criei a consulta, aproveitarei a mesma para gerar o clique diretamente ao usuário. (Referência 3.6)

 

<%

if IsArray(vFornecedor) then

%>

 

<table CELLSPACING="1" cellpadding="0" class="formulario" WIDTH="90%" title="Dados do Afastamento Cadastrado">

         <tr>

                   <th >CNPJ</th>

                   <th width="" >Nome</th>

                   <th width="" ><b>Telefone</b></th>

                   <th width=""><b>Telefone 1</b></th>

                   <th width=""><b>Fax</b></th>

                   <th width=""><b>E-mail</b></th>

                   <%if session("bLiberaManter") then%>

                            <th>Excluir</th>

                            <th>Alterar</th>

                   <%end if%>

         </tr>

 

         <%

         if IsArray(vFornecedor) then

                   for iCont=0 to UBound(vFornecedor, 2)

         %>

 

                   <tr align="center">

                            <td>

                                      <%

                                      if Trim(vFornecedor(FOR_CNPJ, icont)) <> "" then
Response.Write ColocaMascaraCPF(vFornecedor(FOR_CNPJ, icont))

                                      else

Response.Write "-"

                                      end if

                                      %>&nbsp;

                            </td>

                            <td title="<%=vFornecedor(FOR_NOME, icont)%>">

                                      <%

                                      if Trim(vFornecedor(FOR_NOME, icont)) <> "" then
Response.Write mid(vFornecedor(FOR_NOME, icont),1,10)

                                      else

Response.Write "-"

                                      end if

                                      %>&nbsp;

                            </td>

                            <td>

                                      <%

                                      if Trim(vFornecedor(FOR_TELEFONE, icont)) <> "" then
Response.Write  mascaraTel(vFornecedor(FOR_TELEFONE, icont))

                                      else

Response.Write "-"

                                      end if

                                      %>&nbsp;

                            </td>

                            <td >

                                      <%

                                      if Trim(vFornecedor(FOR_TELEFONE1, icont)) <> "" then
Response.Write  mascaraTel(vFornecedor(FOR_TELEFONE1, icont))

                                      else

Response.Write "-"

                                      end if

                                      %>&nbsp;

                            </td>

                            <td>

                                      <%

                                      if Trim(vFornecedor(FOR_FAX, icont)) <> "" then
Response.Write mascaraTel(vFornecedor(FOR_FAX, icont))

                                      else

Response.Write "-"

                                      end if

                                      %>&nbsp;

                            </td>

                            <td>

 

                                      <%

                                      if Trim(vFornecedor(FOR_EMAIL, icont)) <> "" then
Response.Write vFornecedor(FOR_EMAIL, icont)

                                     else

Response.Write "-"

                                      end if

                                      %>&nbsp;

                            </td>

                            <td align="middle">

                                               <a href="#">

<IMG height=16 src="../images/botao_apagar.gif" width=16 name="imgExcluirN" title="Excluir dados de Afastamento" onclick="excluir('<%=vFornecedor(FOR_NU_SEQUENCIAL, icont)%>');">

                                       </a>

                                   </td>

                   </tr>

         <%

                   next

         else

         %>

                   <tr align="center"><td colspan="10"><b>Nenhum registro encontrado</b></td></tr>

 

         <%

         end if

         %>

</table>

<%

end if

%>

 

Referência: 3.7

 

No final do comando “FOR UBOUND” adicionei mais uma “<TD>” buscando a imagem de lixeira e chamando uma função javascript “Excluir”. (Referência 3.8)

 

<td align="middle">

                                               <a href="#">

<IMG height=16 src="../images/botao_apagar.gif" width=16 name="imgExcluirN" title="Excluir dados de Afastamento"
onclick="excluir('<%=vFornecedor(FOR_NU_SEQUENCIAL, icont)%>');">

                                       </a>

                                   </td>

 

Referência: 3.8

 

No “onclick” do comando HTML <a href> utilizei e criei uma função excluir passando o valor em ASP vindo do FOR vírgula o contador. A função da página escrita em JAVASCRIPT está desta forma: (Referência 3.9)

 

function excluir(nuSequencial) {

         var bFlag = confirm(“Deseja realmente excluir?”);

 

         if (bFlag) {

                   document.form.hdNuSequencial.value = nuSequencial;

                   document.form.action = "frmManterFornecedor.asp?sAcao=Excluir";

                   document.form.submit();

         }

}

 

Referência: 3.9

 

A mesma descrita acima recebe um número, utiliza o “confirm”, para aparecer a mensagem com as opções OK ou CANCEL, mantendo uma escolha ao usuário. Caso clique OK, adiciono o valor para um campo HIDDEN chamado hdNuSequencial, mudo a action para a sAcao=Excluir, no final aciono o submit do form.

 

No topo da página fica as variáveis em ASP e a condição do sAcao enviado. (Referência 3.10)

 

<%

          if sAcao = "Excluir" then

                   bFornecedor = oFornecedor.ExcluirFornecedor(hdNuSequencial)

                   if bFornecedor = false then

                            %>

                            <script>

                                      alert(“Erro ao excluir.”);

                            </script>

                            <%

                   end if

                   sAcao = "Pesquisar"

           end if

%>

 

Referência: 3.10

 

A condição verifica se o sAcao é igual a “Excluir”, se for é chamado a função criada “ExcluirFornecedor(hdNuSequencial)” passando o valor atribuído pelo JAVASCRIPT. Caso retorne false, mostra um alerta “Erro ao excluir.” Caso contrário atribui a variável sAcao igual a “Pesquisar” para pesquisar e mostrar ao usuário o que sobrou no banco de dados.

 

Primeira tela de pesquisa. (Referência 3.11)

 

Referência: 3.11

 

Clique na figura “Excluir”. (Referência 3.12)

 

Referência: 3.12

 

O que retornou depois que cliquei no OK. (Referência 3.13).

 

Referência: 3.13

 

Note que foi excluído com sucesso os dados. Bom, fico por aqui e espero ter ajudado.

 

Livros publicados:

 

 

Qualquer dúvida, favor entrar em contato pelo e-mail: mauricio@ascompras.com ou mauricio@aspneti.com.

 

Mauricio Junior

 

www.ascompras.com

www.aspneti.com

 

Untitled Document
ASP BÁSICO
1 Cálculo de Frete Internacional com ASP e Access
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 1
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 2
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 3
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 4
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 5
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 6
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 7
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 8
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 9
1 Sistema de Login com ASP 3.0 usando três camadas – Parte 10
1 ASP 3.0 utilizando 3 camadas - Parte 1
1 ASP 3.0 utilizando 3 camadas - Parte 2
1 ASP 3.0 utilizando 3 camadas - Parte 3
COLDFUSION
1 Criando um formulário em Flash usando o ColdFusion MX 7
FLASH - ACTIONSCRIPT
1 Movimentar objeto – Parte 01
1 Movimentar objeto – Parte 02
1 Jogo – Acerte o Alvo
1 Como Movimentar um Objeto utilizando Botões
1 Exibir frases Aleatórias
1 Ações Básicas do ActionScript
1 Criando Botões com MovieClip no Flash
1 Criando Links em Botões Flash
1 Integrando Flash com Fireworks na Criação de Botões
1 Interpolação Motion (Movimento)
1 Interpolação Shape (Forma)
1 Principais Eventos do Mouse (Flash/ActionScript)
1 Criando Máscaras no Flash (Mask) Parte 1
1 Criando Máscaras no Flash (Mask) Parte 2
1 Galeria de Fotos Carregando Arquivos Externos (Flash e ActionScript)
PHP BÁSICO
1 Introdução ao PHP
1 Lógica em PHP
1 Trabalhando com Formulários HTML
1 Utilizando Arquivos – Criando um Scrap Book
1 Banco de Dados em Arquivos Texto
1 PHP - Sistema de busca de preços - Parte 1
1 PHP - Sistema de busca de preços - Parte 2
1 PHP - Sistema de busca de preços - Parte 3
1 PHP - Sistema de busca de preços - Parte 4
1 PHP - Sistema de busca de preços - Parte Final
1 Primeiros Scripts
1 Guardando dados em memória
1 Um pouco mais sobre variáveis
1 Manipulando variáveis
1 Estruturas de controle - Parte 1
1 Estruturas de controle - Parte 2
1 Estruturas de controle - Parte 3
1 Estruturas de controle - Parte 4
1 Estruturas de controle - Parte 5
1 Criação de Funções no PHP
1 Funções – Um pouco mais Sobre Parâmetros - Parte 1
1 Funções – Um pouco mais Sobre Parâmetros - Parte 2
1 Funções – Alguns Truques
1 Funções – Últimos Truques
1 Arrays – Noções Básicas
1 Arrays – Um pouco Mais Sobre Criação de Arrays
PHP COM BANCO DE DADOS
1 Criando um Sistema Ficha Cadastral Clientes - Parte 1
1 Criando um Sistema Ficha Cadastral Clientes - Parte 2
1 Criando um Sistema Ficha Cadastral Clientes - Parte Final
1 Controle Horarios Funcionários - Parte 1
1 Controle Horarios Funcionários - Parte 2
1 Controle Horarios Funcionários - Parte 3
1 Controle Horarios Funcionários - Parte 4
1 Controle Horarios Funcionários - Parte 5
1 Controle Horarios Funcionários - Parte 6
1 Controle Horarios Funcionários - Parte 7
1 Controle Horarios Funcionários - Parte 8
1 Controle Horarios Funcionários - Parte 9
1 Controle Horarios Funcionários - Parte 10
1 Controle Horarios Funcionários - Parte 11
1 Controle Horarios Funcionários - Parte 12
1 Controle Horarios Funcionários - Parte 13 - Conclusão
1 Instalando o PHP no Windows XP
1 Instalando o MySQL no Windows XP
1 Sistema Controle Extintores -Parte 1
1 Sistema Controle Extintores -Parte 2
1 Sistema Controle Extintores -Parte 3
1 Sistema Controle Extintores -Parte 4
1 Sistema Controle Extintores -Parte 5
1 Sistema Controle Extintores -Parte - Conclusão
1 PHP - Controle dos Correios - Parte 1
1 PHP - Controle dos Correios - Parte 2
1 PHP - Controle dos Correios - Parte 3
1 PHP - Controle dos Correios - Parte 4
1 PHP - Controle dos Correios - Parte 5
1 PHP - Controle dos Correios - Parte 6
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 1
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 2
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 3
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 4
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 5
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 6
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 7
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 8
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 9
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 10
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 11
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 12
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 13
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 14
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 15
1 Sistema Para Controle do IMC - Índice de Massa Corporal - Parte 16
JAVASCRIPT BÁSICO
1 JavaScript Básico - Lição 1
1 JavaScript Básico - Lição 2
1 JavaScript Básico - Lição 3
1 JavaScript Básico - Lição 4
1 JavaScript Básico - Lição 5
1 JavaScript Básico - Lição 6
1 JavaScript Básico - Lição 7
1 JavaScript Básico - Lição 8 - Instruções If e Else
1 JavaScript Básico - Lição 9 - Tópicos Diversos
1 JavaScript Básico - Lição 10 - Objetos Math e Date
1 JavaScript Básico - Lição 11 - Trabalhando com o objeto Browser
1 JavaScript - Criando Seus Próprios Objetos
1 JavaScript - Virtual Earth – Primeiro Passo
1 JavaScript - Virtual Earth – Segundo Passo
Quer receber novidades e e-books gratuitos?

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2021 ®

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI