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
« Lição anterior | Δ Página principal | ¤ Capítulos | Próxima lição » |
ASP.NET - CURSO COMPLETO Autor: Júlio Battisti |
||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lição 085 - Capítulo 10 - Estabelecendo Conexões | ||||||||||||||||||||||||||||||||||||||||||||||||||
Uma coisa não mudou no ADO.NET, em relação ao ADO: o primeiro passo é estabelecer uma conexão com o banco de dados. Embora com ADO.NET tenhamos um modelo desconectado, conforme descrito anteriormente, o primeiro passo é fazer uma conexão com o banco de dados. Uma vez estabelecida a conexão, obtemos os dados desejados e podemos trabalhar com estas dados diretamente no navegador, desconectados do banco de dados. Uma vez feita as alterações necessárias, sincronizamos os dados com o banco de dados. Para estabelecer uma conexão com um banco de dados do SQL Server , devemos utilizar, preferencialmente, a classe SqlConnection, do namespace System.Data.SqlClient. Para acessar um banco de dados utilizando o OLE-DB Provider correspondente, utilizamos a classe OleDbConnection do namespace System.Data.OleDb. Como existe um OLE-DB Provider para o SQL Server , também poderíamos utilizar a classe OleDbConnection para fazer uma conexão com o SQL Server , porém a classe SqlConnection é bem mais eficiente, em termos de desempenho, pois foi especificamente projetada para trabalhar com o SQL Server 2000, assim como foram todas as classes do namespace System.Data.SqlClient. Vamos estudar estas duas classes. Estabelecendo uma conexão com o SQL Server 2000 – SqlConnection. A classe SqlConnection faz parte do namespace System.Data.SqlClient. Esta classe é utilizada para estabelecer uma conexão com um servidor SQL Server. Diferente do que acontecia com ADO, não podemos executar um comando SQL, utilizando a classe SqlConnection. Ainda neste capítulo estudaremos as classes utilizadas para executar comandos em um banco de dados. A seguir temos um exemplo de criação de um objeto do tipo SqlConnection: SqlConnection MinhaConexão = new SqlConnection("server=SERVIDOR\\NETSDK;" +
"uid=sa;pwd=;database=pubs");
O parâmetro passado é uma string que contém as informações necessárias para estabelecer a conexão com o banco de dados. Mais adiante veremos um exemplo de utilização e criação de uma conexão. Na Tabela 10.1 temos uma descrição das principais propriedades da classe SqlConnection:
Tabela 10.1 Principais propriedades da classe SqlConnection. Vamos apresentar um pequeno exemplo, onde criamos uma conexão com o banco de dados pubs da instância SERVIDOR\NETSDK (conforme descrito anteriormente). Uma vez estabelecida a conexão, vamos exibir as propriedades desta conexão em um Web Server Control do tipo TextArea. Vamos utilizar o evento Page_Load, da página ASP.NET, para estabelecer a conexão com o banco de dados pubs. Na Listagem 10.1 temos o código para o exemplo proposto. Listagem 10.1 – A classe SqlConnection – chap10ex1.aspx. <%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">
protected void Page_Load(Object Src, EventArgs E )
{
// Crio uma conexão com o banco de dados pubs localizado no servidor local.
// Vamos acessar a instância SERVIDOR\NETSDK.
SqlConnection MinhaConexão = new
SqlConnection("server=SERVIDOR\\NETSDK;uid=sa;pwd=;database=pubs");
// Declaro uma variável do tipo String: auxPropriedades.
// A variável auxPropriedades irá conter o valor das propriedades
// da conexão minhaConexão.
String auxPropriedades;
auxPropriedades = "Propriedades da conexão:";
auxPropriedades = auxPropriedades + "\n\n" + "ConnectionString: " +
MinhaConexão.ConnectionString.ToString();
auxPropriedades = auxPropriedades + "\n\n" + "Database: " +
MinhaConexão.Database.ToString();
auxPropriedades = auxPropriedades + "\n\n" + "DataSource: " +
MinhaConexão.DataSource.ToString();
auxPropriedades = auxPropriedades + "\n\n" + "State: " +
MinhaConexão.State.ToString();
ExibePropriedades.Font.Bold=true;
ExibePropriedades.Text=auxPropriedades;
}
</script>
<body>
<h3><font face="Verdana">Classe SqlConnection!!!</font></h3>
<asp:TextBox
runat=server
id="ExibePropriedades"
Text=""
Rows="10"
Cols="70"
Font_Face="Arial" Font_Size="3"
BackColor="lightblue"
TextMode="MultiLine"
/>
</body>
</html>
Digite o código da Listagem 10.1 e salve o mesmo em um arquivo chamado chap10ex1.aspx, na pasta chap10, dentro da pasta wwwroot, conforme descrito no item: “Check List para acompanhar os exemplos deste livro”, no Capítulo 6. Para acessar esta página utilize o seguinte endereço: http://localhost/chap10/chap10ex1.aspx Ao carregar a página você irá obter uma página semelhante a página indicada na Figura 10.5.
Comentários sobre o código do exemplo – Chap10Ex1.aspx.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
Se não fizéssemos essa referência, obteríamos um erro de compilação, ao carregar a página, conforme indicado na Figura 10.6.
Observe o texto em destaque, onde é dito que não foi possível encontrar SqlConnection. Isto acontece porque esta classe faz parte do namespace System.Data.SqlClient, o qual não foi referenciado na página ASP.NET.
SqlConnection MinhaConexão = new Observe que este é um comando único, que foi dividido em duas linhas por falta de espaço. Declaramos a variável MinhaConexão como sendo do tipo SqlConnection, ao mesmo tempo que inicializamos esta variável, passando como parâmetro uma string de conexão. Na string passada como parâmetro são definidas as seguintes informações: Nome da instância do SQL Server: SERVIDOR\NETSDK. Nome do usuário: uid=sa. Senha: pwd= , neste caso significa senha em branco. Banco de dados para fazer a conexão: database=pubs. É importante salientar que o objeto do tipo SqlConnection foi criado, porém ainda não foi estabelecida a conexão, conforme pode ser confirmado pelo valor da propriedade State=Closed, na Figura 10.5.
Após termos montado a string auxPropriedades, definimos a fonte do controle ExibePropriedades para negrito e atribuímos o valor da variável auxPropriedades, à propriedade Text do controle ExibePropriedades, conforme indicado no fragmento a seguir: ExibePropriedades.Font.Bold=true;
ExibePropriedades.Text=auxPropriedades;
Na Tabela 10.2 temos uma descrição dos principais métodos da classe SqlConnection:
Tabela 10.2 Principais métodos da classe SqlConnection O principal evento do objeto SqlConnection é o evento StateChange. Este evento ocorre quando o estado da conexão é alterado de Open para Closed ou vice-versa. No exemplo da Listagem 10.1, podemos adicionar o seguinte comando, logo após a criação da conexão MinhaConexão: MinhaConexão.Open();
Este comando abre a conexão MinhaConexão.Após inserirmos este comando na Listagem 10.1 e recarregarmos a página, obteremos o resultado indicado na Figura 10.7.
Estabelecendo uma conexão com o Microsoft Access – OleDbConnection. A classe OleDbConnection faz parte do namespace System.Data.OleDb. Esta classe é utilizada para estabelecer uma conexão com uma fonte de dados, para a qual exista um OLE-DB Provider. Diferente do que acontecia com ADO, não podemos executar um comando SQL, utilizando a classe OleDbConnection, ao invés disso devemos utilizar um objeto Command. Ainda neste capítulo estudaremos as classes utilizadas para executar comandos em um banco de dados. A seguir temos um exemplo de criação de um objeto do tipo OleDbConnection: String DefineConexão = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;" +
"DATA SOURCE=c:\\meus documentos\\NorthWind.mdb";
OleDbConnection MinhaConexão = new OleDbConnection(DefineConexão);
Primeiro definimos uma string chamada DefineConexão. Esta string contém as informações necessárias para estabelecer a conexão com um banco de dados do Microsoft Access. É importante salientar a utilização das duas barras invertidas (\\), ao invés de uma única barra. Como a barra invertida é utilizada para caracteres de escape, no C#, como por exemplo: \n para quebra de linha, quando queremos representar uma barra e não um caractere de escape, precisamos colocar duas barras. Se você colocar somente uma barra, irá obter o erro indicado na Figura 10.8, quando tentar carregar a página:
Observe a mensagem em destaque, na Figura 10.8, informando que temos um caractere de escape, inválido. Em seguida criamos um objeto do tipo OleDbConnection, chamado MinhaConexão e passamos a string DefineConexão como parâmetro para o método construtor do objeto MinhaConexão. Na Tabela 10.3 temos os componentes que podem fazer parte da string de conexão (ConnectionString), para o OLE-DB Provider do Microsoft Access.
Tabela 10.3 Definindo a propriedade ConnectionString para uma fonte do Microsoft Access. Na Tabela 10.4 temos uma descrição das principais propriedades da classe OleDbConnection:
Tabela 10.4 Principais propriedades da classe OleDbConnection. Vamos apresentar um pequeno exemplo, onde criamos uma conexão com o banco de dados C:\Meus documentos\NorthWind.mdb. Uma vez estabelecida a conexão, vamos exibir as propriedades desta conexão em um Web Server Control do tipo TextArea. Vamos utilizar o evento Page_Load, da página ASP.NET, para estabelecer a conexão com o banco de dados pubs. Na Listagem 10.2 temos o código para o exemplo proposto. Listagem 10.2 – A classe OleDbConnection – chap10ex2.aspx. <%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb" %>
<html>
<script language="C#" runat="server">
protected void Page_Load(Object Src, EventArgs E )
{
// Crio uma conexão com o banco de dados pubs localizado no servidor local.
// Vamos acessar a instância SERVIDOR\NETSDK.
String DefineConexão= "PROVIDER=MICROSOFT.JET.OLEDB.4.0;" +
"DATA SOURCE=c:\\meus documentos\\NorthWind.mdb";
OleDbConnection MinhaConexão = new OleDbConnection(DefineConexão);
MinhaConexão.Open();
// Declaro uma variável do tipo String: auxPropriedades.
// A variável auxPropriedades irá conter o valor das propriedades
// da conexão minhaConexão.
String auxPropriedades;
auxPropriedades = "Propriedades da conexão:";
auxPropriedades = auxPropriedades + "\n\n" + "ConnectionString: " +
MinhaConexão.ConnectionString.ToString();
auxPropriedades = auxPropriedades + "\n\n" + "Database: " +
MinhaConexão.Database.ToString();
auxPropriedades = auxPropriedades + "\n\n" + "DataSource: " +
MinhaConexão.DataSource.ToString();
auxPropriedades = auxPropriedades + "\n\n" + "State: " +
MinhaConexão.State.ToString();
ExibePropriedades.Font.Bold=true;
ExibePropriedades.Text=auxPropriedades;
}
</script>
<body>
<h3><font face="Verdana">Classe OleDbConnection!!!</font></h3>
<asp:TextBox
runat=server
id="ExibePropriedades"
Text=""
Rows="10"
Cols="70"
Font_Face="Arial"
Font_Size="3"
BackColor="lightblue"
TextMode="MultiLine"
/>
</body>
</html>
Digite o código da Listagem 10.2 e salve o mesmo em um arquivo chamado chap10ex2.aspx, na pasta chap10, dentro da pasta wwwroot, conforme descrito no item: “Check List para acompanhar os exemplos deste livro”, no Capítulo 6. Para acessar esta página utilize o seguinte endereço: http://localhost/chap10/chap10ex2.aspx você irá obter uma página semelhante a página indicada na Figura 10.9.
Comentários sobre o código do exemplo – Chap10Ex2.aspx. Os mesmos comentários feitos para o exemplo da Listagem 10.1. Na Tabela 10.5 temos uma descrição dos principais métodos da classe OleDbConnection:
Tabela 10.5 Principais métodos da classe OleDbConnection. O principal evento do objeto SqlConnection é o evento StateChange. Este evento ocorre quando o estado da conexão é alterado de Open para Closed ou vice-versa. Muito bem, já sabemos estabelecer uma conexão com um banco de dados. E agora? Ainda precisamos aprender como se fazer as seguintes operações:
Nos próximos tópicos aprenderemos a realizar estas operações. |
||||||||||||||||||||||||||||||||||||||||||||||||||
« Lição anterior | Δ Página principal | ¤ Capítulos | Próxima lição » |
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-2024 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI