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: PrincipalArtigos › ASP 3.0 › Capítulo 06 : 05
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
SITES DINÂMICOS COM ASP 3.0 - CURSO COMPLETO
Autor: Júlio Battisti


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


Lição 049 - Capítulo 06 - Uma página ASP para inserir informações no Banco de dados

Neste exemplo aprenderemos a construir uma página ASP que recebe os dados digitados em um formulário HTML e armazena estes dados no registro de uma tabela. Também faremos a validação para verificar se todos os campos obrigatórios foram preenchidos, caso algum campo obrigatório não tenha sido preenchido, devolvemos o formulário para o usuário informando qual ou quais campos obrigatórios não foram preenchidos. Caso todos os campos tenham sido preenchidos corretamente, os valores digitados serão gravados no Banco de dados.

Podemos utilizar este exemplo para criar um formulário de cadastro de usuários ou qualquer outra aplicação que necessite armazenar os dados digitados em um formulário.

Eu, por exemplo, utilizo uma aplicação deste tipo para fazer a avaliação dos treinamentos que ministro em todo o país. Ao final do treinamento os usuários, sem se identificar, preenchem um formulário com as opiniões sobre o treinamento, o material e o desempenho do instrutor. Estes dados são armazenados diretamente em um Banco de dados do Microsoft Access; a partir do qual faço uma série de estatísticas.

Na Listagem 6.2 temos o código HTML para a criação do formulário de cadastro, no qual o usuário poderá digitar os dados.

Listagem 6.2 – O Formulário para digitação dos dados – cadastro.htm

1          <HTML>

2          <HEAD>

3          <TITLE>Cadastro de novos Clientes !!</TITLE>

4          </HEAD>

5          <BODY bgColor=#c0c0c0>

6          <P>

7          <FONT color=white size=6 style="BACKGROUND-COLOR: navy">

8          <B>Empresa ABC LTDA - (0-xx-11-1111-2222)</B>

9          </FONT>

10        </P>

11        <P>

12        <FONT color=#ffffff size=5 style="BACKGROUND-COLOR: darkred">

13        <B><EM>CADASTRO DE NOVOS CLIENTES:</EM></B>

14        </FONT>

15        </P>

16        <P>

17        <FONT color=navy size=4>

18        <EM>Digite os dados solicitados e clique no botão Enviar.</EM>

19        </FONT>

20        </P>

21        <P>

22        <FORM ACTION=cadastro.asp METHOD=POST>

23        <TABLE bgColor=#ffffff border=1 cellPadding=1 cellSpacing=1 width="100%"    style="HEIGHT: 161px; WIDTH: 340px">

 

24          <TR>

25            <TD>Nome:</TD>

26            <TD><INPUT id=nome maxLength=50 name=nome size=35>&nbsp;

27           <FONT color=red><B>(*)</B></FONT></TD>

28        </TR>

29          <TR>

30            <TD>Rua:</TD>

31            <TD><INPUT id=rua maxLength=30 name=rua size=35>

32            <FONT color=red><B>(*)</B></FONT></TD>

33        </TR>

34          <TR>

35            <TD>Bairro:</TD>

36            <TD><INPUT id=bairro maxLength=20 name=bairro>

37            <FONT color=red><B>(*)</B></FONT></TD>

38        </TR>

39          <TR>

40            <TD>Cidade:</TD>

41            <TD><INPUT id=cidade maxLength=25 name=cidade size=25>

42            <FONT color=red><B>(*)</B></FONT></TD>

43        </TR>

44          <TR>

45            <TD>CEP:</TD>

46            <TD><INPUT id=cep maxLength=10 name=cep size=10>&nbsp;

47            <FONT color=red><FONT color=#000000>nnnnn-nnn

48            </FONT><B>(*)</B></FONT></TD>

49        </TR>

50          <TR>

52            <TD>Fone:</TD>

53            <TD><INPUT id=fone maxLength=20 name=fone></TD>

54        </TR>

55          <TR>

56            <TD>Fax:</TD>

57            <TD><INPUT id=fax maxLength=20 name=fax></TD></TR>

58          <TR>

59        <TD>Cartão:</TD>

60        <TD>

61                    <INPUT id=cartaotipo name=cartaotipo type=radio value=Visa>Visa

62                    <INPUT id=cartaotipo name=cartaotipo type=radio value=Master_Card>Master                  Card

63                    <INPUT id=cartaotipo name=cartaotipo type=radio value=outros>Outros

64                    <FONT color=red><B>(*)</B></FONT>

65        </TD>

66        </TR>

67        <TR>

68            <TD colSpan=2>

69           <INPUT id=enviar name=enviar style="HEIGHT: 24px; WIDTH:109px"                            type=submit value="Enviar dados.">

70           <INPUT id=limpar name=limpar type=submit value="Limpar                                               formulário.">

71        </TD>

72        </TR>

   

73        </TABLE>

74        </FORM>

75        </P><BR>

76        <FONT color=red><B>(*)

77        <FONT color=navy>Campos de preenchimento obrigatório.</FONT></B></FONT>

78        </BODY>

79        </HTML>

Ao carregarmos o exemplo da Listagem 6.2, obteremos o resultado indicado na Figura 6.3.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.3 O formulário para digitação dos dados.

Agora precisamos construir a página – cadastro.asp, a qual irá verificar se todos os campos de preenchimento obrigatório foram preenchidos. Se todos os campos obrigatórios foram preenchidos, os dados serão gravados em um Banco de dados, caso contrário o formulário é enviado para o usuário, solicitando que o mesmo preencha os campos que estão faltando.

Para armazenar os dados, utilizaremos um Banco de dados do Microsoft Access – clientes.mdb. Este banco de dados está gravado em C:\Meus documentos. No Banco de dados clientes.mdb temos uma tabela chamada Cadastro, com a estrutura indicada na Figura 6.4.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.4 Tabela Cadastro do Banco de dados Clientes.

Para acessar este Banco de dados utilizaremos OLE DB, sem a necessidade da criação de uma fonte ODBC. Faremos isto através da utilização da propriedade ConnectionString, já descrita neste capítulo.

A página cadastro.asp fará o seguinte:

  • Estabelece uma conexão com o Banco de dados clientes.mdb e criar um RecordSet chamado Cadastro. o qual está ligado à tabela Cadastro do Banco de dados.
  • Depois a página verifica se algum campo obrigatório não foi preenchido.
  • Caso todos os campos obrigatórios tenham sido preenchidos, os dados são gravados na tabela Cadastro do Banco de dados clientes.mdb.
  • Caso algum campo obrigatório não tenha sido preenchido, a página ASP informa quais campos obrigatórios não foram preenchidos, retorna o formulário para o usuário, mantendo os campos que já haviam sido preenchidos, para que o usuário possa preencher os campos que estão faltando.

Na Listagem 6.3 temos o código para a página cadastro.asp.

Listagem 6.3 – Página ASP para processamento dos dados – cadastro.asp.

1          <%@ Language=VBScript %>

2          <HTML>

4          <HEAD>

5          </HEAD>

6          <BODY>

7          <%

8          'O Primeiro passo é criar a conexão com o Banco de dados

9          'Para isto crio um objeto do tipo Connection

10        'Cria um Objeto do Tipo ADODB.Connection

11          Set conn=Server.CreateObject("ADODB.Connection")

12        'Agora abro uma conexão com o arquivo clientes.mdb

13        'utilizando OLE DB.

14        conn.ConnectionString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;

            DATA             SOURCE=c:\meus documentos\clientes.mdb"

15        conn.Open

16        'Agora criamos um Objeto RecordSet.

17        'Este Objeto irá acessar a tabela Cadastro.

18        Set Cadastro = Server.CreateObject("ADODB.Recordset")

19        Cadastro.Open "Cadastro", conn, 3, 3

20        'Neste ponto tenho o objeto Cadastro ligado com a tabela

21        'Cadastro do Banco de dados clientes.mdb.

22        '**************************************************

23        ' Inicia a verificação para saber se todos

24        ' os campos obrigatórios foram preenchidos.

'**************************************************

25        ' Atribuo os campos obrigatórios à variáveis, para facilitar a verificação.

26        nome=Request.Form("nome")

27        rua =Request.Form("rua")

28        bairro=Request.Form("bairro")

29        cidade=Request.Form("cidade")

30        cep=Request.Form("cep")

31        cartao=Request.Form("cartaotipo")

32        'Verifica se os campos obrigatório foram preenchidos.

33        'Qualquer dado obrigatório que não tenha sido preenchido,

34        'definirá a variável faltou_dado em Sim.

35        If (nome="")Then

36            mensagem_nome="Preencha o campo Nome:"

37            faltou_dado="Sim"

38            faltou_nome="Sim"

39        End If

40        If (rua="")Then

41            mensagem_rua="Preencha o campo Rua:"

42            faltou_dado="Sim"

43            faltou_rua="Sim"

44        End If

45        If (bairro="")Then

46            mensagem_bairro="Preencha o campo Bairro:"

47            faltou_dado="Sim"

48            faltou_bairro="Sim"

49        End If

50        If (cidade="")Then

51            mensagem_cidade="Preencha o campo Cidade:"

52            faltou_dado="Sim"

53            faltou_cidade="Sim"

54        End If

55        If (cep="")Then

56            mensagem_cep="Preencha o campo cep:"

57            faltou_dado="Sim"

58            faltou_cep="Sim"

59        End If

60        If (cartao="")Then

61            mensagem_cartao="Preencha o campo Cartao:"

62            faltou_dado="Sim"

63            faltou_cartao="Sim"

64        End If

65        'Caso todos os campos obrigatórios tenham sido

66        'preenchidos, gravo os dados no Banco de dados.

67        'e informo que a operação foi realizada com sucesso.

68        If faltou_dado<>"Sim" Then

69           Cadastro.AddNew

70                Cadastro.Fields("Nome")= Request.Form("nome")

71                Cadastro.Fields("Rua")= Request.Form("rua")

72                Cadastro.Fields("Bairro")= Request.Form("bairro")

73                Cadastro.Fields("Cidade")= Request.Form("cidade")

74                Cadastro.Fields("Cep")= Request.Form("cep")

75                Cadastro.Fields("Fone")= Request.Form("fome")

76                Cadastro.Fields("Fax")= Request.Form("fax")

77                Cadastro.Fields("Cartao")= Request.Form("cartaotipo")

78           Cadastro.Update

79           Cadastro.Close

80           Set Cadastro = Nothing

81           Response.Write "CLIENTE CADASTRADO COM SUCESSO<BR>"

82           Response.Write "<A href=cadastro.htm>Clique aqui para Cadastrar outro Cliente</A>"  

83           Response.Write "<HR>"

84        End If

85        'Caso algum dado obrigatório não tenha sido digitado

86        'Envia o formulário de  volta para o Cliente,

87        'preservando os valores que o mesmo já digitou.

88        'Observe que utilizamos Response.Write para ir

89        'recriando todo o formulário.

90        'Também observe que o formulário é enviado de volta

91        'na página cadastro.asp e que o atributo action

92        'da tag FORM é definido como cadastro.asp, ou seja

93        'a página cadastro.asp chama a si mesma após o

94        'usuário clicar no botão Enviar.

95        'Esta é uma técnica bastante interessante.

96        'Antes de enviar o formulário, informamos quais

97        'os campos obrigatório que não foram preenchidos.

98        If faltou_nome="Sim" Then

99            Response.Write "<B>O campo Nome deve ser preenchido.</B> <br>"

100      End If

101      If faltou_rua="Sim" Then

102          Response.Write "<B>O campo Rua deve ser preenchido.</B> <br>"

103      End If

104      If faltou_cidade="Sim" Then

105          Response.Write "<B>O campo Cidade deve ser preenchido.</B> <br>"

106      End If

107      If faltou_bairro="Sim" Then

108          Response.Write "<B>O campo bairro deve ser preenchido.</B> <br>"

109      End If

110      If faltou_cep="Sim" Then

111          Response.Write "<B>O campo Cep deve ser preenchido.</B> <br>"

112 End If

113      If faltou_cartao="Sim" Then

114          Response.Write "<B>O campo Cartao deve ser preenchido.</B> <br>"

115      End If

116      %>

117      <%

118      'Começo a reenviar o formulário para o usuário, utilizando Response.Write.

119      'Caso esteja faltando algum dado, envio o formulário.

120      'para o usuário preencher os campos que estão faltando.

121      'Os valores já digitados, são preservados.

122      %>

123      <% If faltou_dado="Sim" Then

124      Response.Write "<BODY bgColor=#c0c0c0>"

125      Response.Write "<P><FONT color=white size=6 style=BACKGROUND-COLOR: navy><STRONG>Empresa ABC LTDA - "

126      Response.Write "(0-xx-11-1111-2222)<BR>   "

127      Response.Write "</STRONG></FONT><FONT color=#000000><FONT size=5             ><STRONG><EM>CADASTRO DE NOVOS "

128      Response.Write "CLIENTES:</EM></STRONG></FONT> <BR></FONT><FONT color=navy size=4><EM>Digite os dados solicitados e clique no botão "

129      Response.Write "Enviar.</EM></FONT></P>"

130      Response.Write "<P>"

131      Response.Write "Caso queira alterar algum dado"

132      Response.Write " digite no formulário abaixo.<HR>"

133      Response.Write "<FORM ACTION=cadastro.asp METHOD=post id=form1            name=form1>"

134      Response.Write "<TABLE bgColor=#ffffff border=1 cellPadding=1 cellSpacing=1             width=100% style=HEIGHT: 161px; WIDTH: 340px>"

135      Response.Write "<TR>"

136      Response.Write "<TD>Nome:</TD>"

137      Response.Write "<TD><INPUT id=nome maxLength=50 name=nome size=35 value=" &   Chr(34) & Request.Form("nome") & Chr(34) & ">&nbsp;<FONT "

138      Response.Write "color=red><B>(*)</B></FONT></TD></TR>"

139      Response.Write "<TR>"

140      Response.Write "<TD>Rua:</TD>"

141      Response.Write "<TD><INPUT id=rua maxLength=30 name=rua size=35 value=" &          Chr(34) & Request.Form("rua") & Chr(34) & "><FONT Color=red><B>           (*)</B></FONT></TD></TR>"

142      Response.Write "<TR>"

143      Response.Write "<TD>Bairro:</TD>"

144      Response.Write "<TD><INPUT id=bairro maxLength=20 name=bairro value=" & Chr(34)             & Request.Form("bairro") & Chr(34) &"><FONT "

145      Response.Write "color=red><B>(*)</B></FONT></TD></TR>"

146      Response.Write "<TR>"

147      Response.Write "<TD>Cidade:</TD>"

148      Response.Write "<TD><INPUT id=cidade maxLength=25 name=cidade value=" &             Chr(34) & Request.Form("cidade") & Chr(34)

149      Response.Write "  size=25><FONT color=red><B>(*)</B></FONT></TD></TR>"

150      Response.Write "<TR>"

151      Response.Write "<TD>CEP:</TD>"

152      Response.Write "<TD><INPUT id=cep maxLength=10 name=cep value=" & Chr(34)& 153            Request.Form("cep")& Chr(34)

154      Response.Write "size=10>&nbsp;<FONT color=red><FONT color=#000000>nnnnn-nnn "

155      Response.Write "</FONT><B>(*)</B></FONT></TD></TR>"

156      Response.Write "<TR>"

157      Response.Write "<TD>Fone:</TD>"

158      Response.Write "<TD><INPUT id=fone maxLength=20 name=fone value=" & Chr(34) & 159            Request.Form("fone") & Chr(34) & "></TD></TR>"

160      Response.Write "<TR>"

161      Response.Write "<TD>Fax:</TD>"

162      Response.Write "<TD><INPUT id=fax maxLength=20 name=fax value=" & Chr(34) &     Request.Form("fax") & Chr(34) & "></TD></TR>"

163      Response.Write "<TR>"

164      Response.Write "<TD>Cartão:</TD>"

165          If Request.Form("cartaotipo")="Visa" Then

166                     Response.Write "<TD><INPUT id=cartaotipo name=cartaotipo type=radio CHECKED>Visa&nbsp;"

167          Else

168                     Response.Write "<TD><INPUT id=cartaotipo name=cartaotipo type=radio>Visa&nbsp;"

169          End If

170          If Request.Form("cartaotipo")="Master Card" Then

171                     Response.Write "<INPUT id=cartaotipo name=cartaotipo type=radio CHECKED>Master Card <INPUT id=cartaotipo "

172          Else

173                     Response.Write "<INPUT id=cartaotipo name=cartaotipo type=radio>Master Card <INPUT id=cartaotipo "

174          End If

175          If Request.Form("cartaotipo")="Outros" Then  

176                      Response.Write "name=cartaotipo type=radio CHECKED>Outros"

177          Else

178                      Response.Write "name=cartaotipo type=radio>Outros"

179          End If

180      Response.Write "<FONT color=red><B>(*)</B></FONT></TD></TR>"

181      Response.Write "<TR>"

182      Response.Write "<TD colSpan=2><INPUT id=enviar name=enviar style=HEIGHT: 24px; WIDTH: 109px type=submit value=Enviar_dados.>&nbsp;"

183      Response.Write "<INPUT id=limpar name=limpar type=submit        value=Limpar_formulário.></TD></TR>"

184      Response.Write "</TABLE>"

185      Response.Write "</FORM>"

186      Response.Write "</P><FONT color=red><B>(*) <FONT color=navy>Campos de    preenchimento "

187      Response.Write "obrigatório.</FONT></B></FONT>"

188      End If

189      %>

190      </BODY>

191      </HTML>

Algumas linhas aparecem divididas em duas ou mais linhas. Nunca é demais lembrar que estas linhas devem ser digitadas como uma linha única. As mesmas estão exibidas em duas ou mais linhas apenas por questão de espaço.

Algumas observações sobre a Listagem 6.3:

  • A primeira observação a ser feita é a respeito do código que insere um novo registro na tabela Cadastro do Banco de dados clientes.mdb. O código ASP que realiza esta tarefa é o seguinte:

68        If faltou_dado<>"Sim" Then

69           Cadastro.AddNew

70                Cadastro.Fields("Nome")= Request.Form("nome")

71                Cadastro.Fields("Rua")= Request.Form("rua")

72                Cadastro.Fields("Bairro")= Request.Form("bairro")

73                Cadastro.Fields("Cidade")= Request.Form("cidade")

74                Cadastro.Fields("Cep")= Request.Form("cep")

75                Cadastro.Fields("Fone")= Request.Form("fome")

76                Cadastro.Fields("Fax")= Request.Form("fax")

77                Cadastro.Fields("Cartao")= Request.Form("cartaotipo")

78           Cadastro.Update

79           Cadastro.Close

80           Set Cadastro = Nothing

81           Response.Write "CLIENTE CADASTRADO COM SUCESSO<BR>"

82           Response.Write "<A href=cadastro.htm>Clique aqui para Cadastrar outro Cliente</A>"  

83           Response.Write "<HR>"

84        End If

Neste código, utilizamos o método AddNew do objeto RecordSet Cadastro. Depois vamos preenchendo cada novo campo do registro, com o respectivo valor preenchido pelo usuário no formulário. No final utilizamos o método Update para salvar o registro na tabela.

O método Close é utilizado para fechar o RecordSet Cadastro e por fim tiramos o objeto Cadastro da memória. Isto é feito atribuindo-se o valor “Nothing” para o objeto Cadastro. É importante lembrar que para atribuir valor para um objeto, devemos utilizar o operador Set, caso contrário obteremos uma mensagem de erro.

  • Também gostaria de observar a situação em que o usuário deixa de preencher algum campo obrigatório. Neste caso, o usuário é informado a respeito de qual ou quais campos não foram preenchidos. O formulário é retornado para o usuário, juntamente com os valores já digitados, para que o usuário não precise digitar todos os valores novamente. Observe que todo o código HTML que gera o formulário é retornado utilizando-se Response.Write – da linha 124 à linha 189.
  • Vamos testar o funcionamento da página Cadastro.asp.

Na Figura 6.5, o usuário preencheu alguns campos, porém não preencheu os campos obrigatórios Bairro e Rua.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.5 Os campos obrigatórios Bairro e Rua não foram preenchidos.

Ao clicar no botão “Enviar dados”, a página Cadastro.asp detecta que alguns campos obrigatórios não foram preenchidos e informa o usuário a este respeito, conforme indicado na Figura 6.6.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.6 O usuário é informado que alguns campos obrigatórios não foram preenchidos.

Agora o usuário preenche os campos obrigatórios que estão faltando, conforme indicado na Figura 6.7.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.7 O usuário preenche os campos que estão faltando.

Ao clicar no botão “Enviar dados”, as informações serão salvas no Banco de dados. A página cadastro.asp informa que as informações foram salvas com sucesso e retorna um link para que o usuário possa voltar ao formulário de cadastro e cadastrar outro cliente, conforme indicado na Figura 6.8.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 6.8 O cliente foi cadastrado com sucesso.


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • 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-2019 ®

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

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