Ado
-
Upload
elifranio-alves-cruz -
Category
Documents
-
view
861 -
download
3
description
Transcript of Ado
![Page 1: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/1.jpg)
ADO.NET
MODELO DE OBJECTOS
![Page 2: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/2.jpg)
ADO.NET é um conjunto de classes cujas funcionalidades permitem conexões a fontes de dados e a sua manipulação.
É especificamente desenhado para conexões a dados relacionais num ambiente desconectado, sendo por isso apropriado para aplicações WEB baseadas na Internet.
Usa o formato XML para a transferência de dados entre a aplicação e a fonte de dados.
![Page 3: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/3.jpg)
![Page 4: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/4.jpg)
![Page 5: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/5.jpg)
![Page 6: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/6.jpg)
OBJECT MODEL ADO.NET
![Page 7: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/7.jpg)
ADO.NET MODELO DE PROGRAMAÇÃO
CARACTERÍSTICAS:
1. Disponibiliza uma arquitectura de dados (offline) desconectada suportando ainda operações conectadas.
2. Estritamente integrado com a linguagem XML (Extended Markup Language)
3. Interacção com várias fontes de dados através duma representação de dados comuns
![Page 8: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/8.jpg)
Dados conectados/desconectados
Dados conectadosEste ambiente possibilita a leitura sequencial dos dados e ainda a execução de comandos na fonte de dados. As classes conectadas incluem: Connection, Command, DataReader, Transaction,
ParameterCollection, e Parameter. Dados desconectados
O ambiente desconectado permite a extracção de dados dum fonte, a sua manipulação e ainda a sua reconciliação (actualização) com a fonte. Fazem parte deste ambiente as classes:
DataSet, DataTable, DataColumn, DataRow, constraint, DataRelationship, and DataView classes.
![Page 9: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/9.jpg)
![Page 10: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/10.jpg)
DATA ADAPTER
O DataAdapter fazer a ponte entre as classes desconectadas e as fontes de dados. Ele permite extrair dados duma BD para um DataSet e a actualização da BD com as alterações registadas no Dataset
![Page 11: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/11.jpg)
Classes ADO.NET
![Page 12: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/12.jpg)
DATA PROVIDERS
Um .NET data provider conecta a uma fonte de dados e executa comandos quer para extrair dados, quer para actualizá-los
![Page 13: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/13.jpg)
Objectos ADO.NETCONECTADOS
Connection Mantém a informação necessária para a conexão a uma BD através da connection string. Esta contém o nome da fonte de dados e sua localização, provider, autorizações e outras definições.
O objecto connection dispôe de métodos para abrir e fechar uma conexão a uma BD, executar uma transacção etc…
System.Data.SqlClient.SqlConnection
System.Data.OleDb.OleDbConnection
![Page 14: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/14.jpg)
Connection - Propriedades
Member Description
ConnectionString Uma string com as definições da ligação. Estas definições “nome=valor” incluem informações sobre o utilizador, a base de dados e a sua localização etc…
ConnectionTimeout Tempo de espera até ser disparada uma excepção numa tentativa falhada de abertura de uma fonte de dados.
Database O nome da base de dados a ser usada assim que a ligação for aberta. Esta propriedade pode ser alterada com o método ChangeDatabase().
State Estado da ligaçao.Open ou Closed.
![Page 15: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/15.jpg)
ConnectionString - ParâmetrosParameter Description
AttachDBFilename / Initial File Name
Usado apenas para ligação a bases de dados attachable.Exemplo:*.mdf
Connect Timeout / Connection Timeout
Tempo de espera por uma ligação até que o servidor dê a tentativa como falhada gerando uma erro.Default=15s e infinito=0
Data Source / Server / Address / Addr / Network Address
O nome do servidor ou endereço de rede onde está a BD. Utiliza-se o valor LocalHost para o computador corrente.
Initial Catalog / Database
O nome da BD
Integrated Security / Trusted_Connection
Quando o valor está definido para true ou SSPI o .NET provider tenta ligar-se à fonte de dados usando a segurança integrada do Windows.
Default=False;
Persist Security Info
Quando o seu valor é definido como false (default) toda a informação sensível à segurança, tal como a palavra-chave, é removida da connection string assim que a ligação é estabelecida.
User ID Conta de Utilizador
Password/Pwd PassWord
![Page 16: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/16.jpg)
Connection - Métodos
Member Description
BeginTransaction() Inicia, programaticamente,uma transacção.
ChangeDatabase() Define a BD a ser usada nas operações seguintes
CreateCommand() Cria um objecto comando que utilizará esta ligação..
Open() and Close() Conecta/Desconecta da BD
![Page 17: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/17.jpg)
SQL Server connection string
Parâmetros obrigatórios:Servidor:
Data Source= nome_do_servidor
Base de dados:Initial Catalog=nome_da_bd
Informação de autenticação:SQL Server authentication
id=userid ; password=password OuOu Autenticação integrada do Windows
Integrated Security=SSPI
![Page 18: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/18.jpg)
SQL Server connection string
SqlConnection con = new SqlConnection( "Data Source= localhost; Initial Catalog= Northwind;
user id= userid;
password= pswd“ );
SqlConnection con = new SqlConnection("Data Source= localhost;
Initial Catalog= Northwind;
Integrated Security= SSPI");
![Page 19: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/19.jpg)
![Page 20: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/20.jpg)
OLE DB connection string
Normalmente uma connection string OLEDB necessita os seguintes parâmetros:
1. Data Source (localhost –para o computador local);
2. Initial Catalog (nome da base de dados);
3. Autenticação (id e password qd definido);
4. Provider (indica qual o OLEDB provider em uso).
![Page 21: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/21.jpg)
Ole db – connection string
Versão sqlserver <7.0 con as OleDbConnection = new OleDbConnection ( "Data Source= localhost ;
Initial Catalog= Northwind;user id= sa;password= secret;Provider= SQLOLEDB")
Access: con as OleDbConnection = new OleDbConnection ( "Data Source= localhost;
Initial Catalog= c:\Nortwdind.mdb;Provider= Microsoft.Jet.OLEDB.4.0");
![Page 22: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/22.jpg)
![Page 23: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/23.jpg)
Objectos ADO.NETCONECTADOS
Executa comandos SQL ou stored procedures contra os dados de uma fonte.
Inclui uma colecção de parâmetros (ParameterCollection), que possibilitam a utilização de declarações SQL parametrizáveis.
CommandCommand
![Page 24: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/24.jpg)
Command - Propriedades
Propriedade Descrição
CommandText Contém a declaração SQL, nome do Stored Procedure ou nome da tabela.
CommandTimeout Período de tempo (segs) de espera pela execução de um comando até ser considerado uma falha e ser disparada uma excepção. Default = 30seg.
CommandType
Indica o formato da propriedade CommandText: Text - para um comando SQL StoredProcedure - para um Stored Procedure; Table Direct - para tabela
Connection A conexão usada pelo comando. Esta deve estar aberta antes da execução do comando.
Parameters
Colecção dos parametros de input, output ou bidireccionais. Usados para consultas parametrizadas ou chamadas a stored procedures.
Transaction Transacção de que o comando faz parte.
UpdatedRowSource Especifica o modo como o comando actualiza a fonte de dados.
![Page 25: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/25.jpg)
Command - Métodos
Método Descrição
Cancel() Tenta parar um comando em execução. Para se invocar este método é necessário iniciar o commando numa nova thread.
CreateParameter() Cria um novo objecto Parameter, que pode ser adicionado à colecção Command.Parameters
ExecuteReader() Executa o comando e devolve um cursor, apenas de leitura e sequencial, na forma de um DataReader.
ExecuteNonQuery()
Executa o comando e devolve o número de linhas afectadas. Utilizado normalmente nas declarações de actualização, eliminação e inserção de registos. UPDATE, DELETE, 0u INSERT
ExecuteScalar() Executa o comando e devolve um único valor. Usado em funções de agregação.
Prepare() Se o comando for do tipo Stored Procedure, este método pode ser usado para pré-compilar o comando na fonte de dados.
![Page 26: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/26.jpg)
Executar um Comando
Um comando pode ser executado de 3 modos:
1. Cmd.ExecuteReader() – retorna um dataReader;
2. Cmd.ExecuteNonQuery() – Update, delete e Insert ;
Dos comandos NonQuery os mais conhecidos são os comandos UPDATE, DELETE e INSERT. Podem ser no entanto criados outros comandos para definição de dados tais como create, alter e Drop tables, constrians e relations
3. Cmd.ExecuteScalar() – Função de Agregação.
![Page 27: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/27.jpg)
EXECUTAR UM COMANDO QUE RETORNA UM VALOR
O método ExecuteScalar() devolve um único valor. Executando a consulta será o primeiro valor na primeira coluna da primeira linha.
Normalmente são utilizadas para devolver um resultado de uma função de agregação que opera num subconjuto de rows.
Sintaxe:SELECT aggregate_expression FROM tables [WHERE search_condition]
[ORDER BY order_expression ASC | DESC]
![Page 28: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/28.jpg)
Objectos ADO.NETCONECTADOS
Permite o acesso a uma fonte de dados para leitura sequencial.
É instanciado a partir dum objecto Command.
DataReader DataReader
![Page 29: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/29.jpg)
Objectos ADO.NETCONECTADOS
Permite o uso de parâmetros em consultas e storedProcedures.
Esta classe está incluída na colecção ParametersCollection do objecto Command.
Suporta parâmetros de input and output bem como valores de retorno de stored procedures.
Parameter Parameter
![Page 30: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/30.jpg)
Objectos ADO.NETCONECTADOS
Faz a ponte entre a fonte de dados e o Dataset ou classes DataTable.
Através do método Fill extrai dados da fonte usando o seu comando select e; através do método Update reconcilia os dados do Dataset ou tables que são dados desconectados, com a Fonte de dados.
A classe CommandBuilder pode gerar os comandos de actualização para situações pouco complexas.
DataAdapter DataAdapter
![Page 31: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/31.jpg)
DATADAPTER
![Page 32: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/32.jpg)
![Page 33: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/33.jpg)
Objectos ADO.NETCONECTADOS
Permite criar transacções num objecto connection.
Deste modo várias operações sobre os dados poderão ser agrupadas numa só unidade de trabalho que pode ser rollback ou commit.
.
Transaction Transaction
![Page 34: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/34.jpg)
Objectos ADO.NETDESCONECTADOS
Suporta os dados desconectados viabilizando uma manipulação consistente desses dados.
É essencialmente uma base de dados relacional em memória, servindo como contentor para os objectos: DataTable, DataColumn, DataRow, Constraint, e DataRelation.
É num formato XML que o Dataset é serializado e transportado.
Um Dataset pode ser acedido e manipulado quer através de métodos e propriedades do Dataset, quer através de XML.
A classe XMLDataDocument representa e sincroniza os dados relacionais do objecto DataSet com o DOM(XML Document Object Model).
DATASETDATASET
![Page 35: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/35.jpg)
DATASET
![Page 36: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/36.jpg)
Objectos ADO.NETDESCONECTADOS
Permite que os dados desconectados possam ser examinados e modificados através de uma colecção de classes DataColumn e DataRow.
As tabelas permitem o uso de constrains – restrições- tais como foreign Keys e Unique.
DATATABLEDATATABLE
![Page 37: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/37.jpg)
Objectos ADO.NETDESCONECTADOS
Corresponde a uma coluna numa tabela.
Esta classe armazena metadados sobre a estrutura da coluna e restrições.
Estes metadados e constrains definem a estrutura da tabela.
É possível a criação de colunas baseadas em expressões com basenos valores de outras colunas.
DataColumn DataColumn
![Page 38: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/38.jpg)
Objectos ADO.NETDESCONECTADOS
Corresponde a uma linha de uma tabela e permite a consulta e actualização dos dados dessa tabela.
Uma tabela expõe objectos DataRow através da colecção DataRowCollection.
A classe DataRow regista as alterações dos dados contidos nas suas colunas, guardando ambos os valores: valor original e valor corrente o que permite quer a reconciliação de dados com a fonte que o cancelamento dessas alterações.
DataRow DataRow
![Page 39: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/39.jpg)
Objectos ADO.NETDESCONECTADOS
As restrições Unique e foreign Key podem ser definidas permitindo a integridade dos dados.
Constraint Constraint
![Page 40: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/40.jpg)
Objectos ADO.NETDESCONECTADOS
Permite estabelecer relações entre tabelas dum mesmo DataSet.
Relaciona colunas entre a tabela “parent” e a tabela “child”, permitindo a integridade referencial entre ambas através de actualizações e eliminações em cascata bem como a navegação relacional entre essas tabelas.
DataRelation DataRelation
![Page 41: Ado](https://reader033.fdocumentos.com/reader033/viewer/2022061203/547e31f8b4af9fc7388b4609/html5/thumbnails/41.jpg)
Objectos ADO.NETDESCONECTADOS
Permite que os dados de um Dataset ou Table possam ser vistos de modo diferente através da aplicação de ordenações baseadas em valores de colunas e filtros baseados num determinado critério.
DataView DataView