Upload
elifranio-alves-cruz
View
861
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
ADO.NET
MODELO DE OBJECTOS
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.
OBJECT MODEL ADO.NET
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
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.
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
Classes ADO.NET
DATA PROVIDERS
Um .NET data provider conecta a uma fonte de dados e executa comandos quer para extrair dados, quer para actualizá-los
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
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.
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
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
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
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");
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).
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");
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
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.
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.
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.
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]
Objectos ADO.NETCONECTADOS
Permite o acesso a uma fonte de dados para leitura sequencial.
É instanciado a partir dum objecto Command.
DataReader DataReader
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
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
DATADAPTER
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
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
DATASET
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
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
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
Objectos ADO.NETDESCONECTADOS
As restrições Unique e foreign Key podem ser definidas permitindo a integridade dos dados.
Constraint Constraint
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
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