ASP Básico -  Atualizando dados - usando o método update da ADO

 
Vamos mostrar como atualizar os dados de um banco de dados é usando o método Update da ADO.
 
Nosso exemplo utiliza o seguinte arquivo de script:
 
1-) altera_3.asp – Abre a tabela Authors e seleciona o registro de número 22, realizando a alteração do ano de nascimento para 1980 usando o método Update. (Você pode adaptar este exemplo ao seu ambiente)
 
O código a seguir mostra como cancelar uma alteração usando o método CancelUpdate.
<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0
%>
<!--#include file="adovbs.inc"-->
<%
Dim DBConn, rst
 
set DBConn=server.createobject("adodb.connection")
Dbconn.open "DBQ=C:\asp_db\biblio.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"
%>
<HTML><BODY>
Atualizando e cancelando a atualização de um registro usando Update/CancelUpdate:<BR><BR>
<%
Set Rst = Server.CreateObject("ADODB.Recordset")
Rst.CursorLocation = adUseServer
Rst.CursorType = adOpenkeySet
Rst.LockType = adLockOptimistic
Rst.Open "SELECT * FROM Authors WHERE Au_ID = 22, DBConn, , , adCmdText
 
Response.Write "O registro com código igual a 22 é : => "
Response.Write Rst("Author") & " – " & Rst("Year Born") & "<BR>"
Response.Write "-------------------------------------------------------------------------<BR>"
Response.Write "A ano de nascimento deste autor será alterada para : 1980 <BR>"
Response.Write "-------------------------------------------------------------------------<BR>"
Rst("Year Born") = 1980
Rst.Update
Response.Write "O ano de nascimento foi alterado para" & Rst("Year Born") & "<BR>"
Response.Write "O registro do Recordset foi atualizado usando o método Update da ADO.<BR>"
Response.Write "-------------------------------------------------------------------------<BR>"
Response.Write "Vamos alterar novamente o registro para: 1975 <BR>"
Response.Write "-------------------------------------------------------------------------<BR>"
Rst("Year Born") = 1975
Rst.CancelUpdate
Response.Write "A alteração foi cancelada usando o método CancelUpdate da ADO"
Response.Write "<BR>"
 
Response.Write "O ano de nascimento foi continua sendo" & Rst("Year Born")
Rst.Requery
%>
<%
Rst.close
DBConn.close
Set Rst= Nothing
Set DBConn = Nothing
%>
</BODY></HTML>
Analisando o código temos:
 
1-) Estamos criando um recordset explicitamente definindo as seguintes propriedades
Rst.CursorLocation = adUseServer - O cursor é fornecido pelo provedor de dados ou driver ODBC
 
Rst.CursorType = adOpenkeySet – Permite realizar alterações no recordset .
Rst.LockType = adLockOptimistic - A usamos o bloqueio otimista.
 
2-)Selecionamos todos os autores com o codigo igual a 22
Rst.Open "SELECT * FROM Authors WHERE Au_ID = 22, DBConn, , , adCmdText
 
3-)A alteração é feita atribuindo o valor desejado ao campo do Recordset selecionado, e a seguir invocar o método Update do objeto recordset para efetivar a alteração:
Rst("Year Born") = 1980
Rst.Update
 
4-) Para cancelar uma alteração basta invocar o método CancelUpdate :
Rst("Year Born") = 1975
Rst.CancelUpdate
 
5-) Força o recordset a ser atualizado com os novos dados da tabela
Rst.Requery

Vimos como é simples atualizar dados com ASP usando ADO. Usamos o método Update do objeto Recordset. A seguir veremos como fazer o mesmo serviço usando SQL.

Nota: Eu estou usando uma conexão OBDC , mas se o seu provedor suportar é recomendável você usar um provedor OLE DB.

Até o próximo artigo ASP - Básico..


 José Carlos Macoratti