ADO.NET 2.0 - classe Connection
No post anterior escrevi uma breve introdução ao ADO.NET 2.0. Neste post veremos a classe Connection, que estabelece uma conexão com o banco de dados.
Para termos o melhor desempenho possível, essa classe é desenvolvida para cada banco.
Deriva da classe DbConnection (namespace System.Data.Common) e da interface ICloneable (namespace System).
Algumas classes Connection são:
- SqlConnection (namespace System.Data.SqlClient) - para conexão ao Microsoft SQL Server;
- OleDbConnection (namespace System.Data.OleDb) - para conexão a qualquer banco de dados que suporte o padrão OleDB, como Microsoft Sql Server 7.0, Microsoft Access;
- OracleConnection (namespace System.Data.OracleClient) - para conexão ao Oracle.
Devemos importar o namespace adequado para usar a classe SqlConnection (os exemplos desse post serão todos baseados no Microsoft SQL Server 2005 Express Edition - a versão grátis):
Visual Basic
Imports System.Data.SqlClient
C#
using System.Data.SqlClient;
A sintaxe da classe SqlConnection é:
Visual Basic
Public NotInheritable Class SqlConnection _ Inherits DbConnection _ Implements ICloneable
C#
public sealed class SqlConnection : DbConnection, ICloneable
Os principais membros da classe SqlConnection são:
- Propriedades:
- ConnectionString - String que possui os dados do SGBD, como nome do servidor, instância, banco, usuário, senha e tipo de autenticação, dentre outros;
- DataSource - Retorna o nome da instância do SQL Server;
- Database - Retorna o nome do banco de dados;
- ServerVersion - Retorna a versão do banco de dados;
- State - Retorna o estado da conexão;
- WorkstationId - Retorna o nome do computador que está acessando o banco.
- Métodos:
- Open - Abre a conexão entre o programa e o banco de dados;
- Close - Fecha a conexão;
- ChangeDatabase - Altera o banco de dados atual para uma conexão aberta;
- CreateCommand - Retorna um objeto SqlCommand associado à conexão corrente.
Os construtores da classe SqlConnection são:
- SqlConnection() - Cria uma instância (objeto) da classe;
- SqlConnection(String) - Cria uma instância da classe, configurada de acordo com a string de conexão passada como argumento.
Como criar uma conexão (a):
Visual Basic
Dim objConnection as SqlConnection objConnection = new SqlConnection()
C#
SqlConnection objConnection = new SqlConnection();
O valor 15 segundos é atribuído para a propriedade ConnectionTimeout e “” para as propriedades ConnectionString, DataSource e Database.
Como criar uma conexão (b):
Visual Basic
Dim strCon as String strCon = “Data Source=NOTEBOOK\SQLEXPRESS;Initial Catalog=MASTER;” & _ “Integrated Security=True;Connect Timeout=2″ Dim objConnection as SqlConnection objConnection = new SqlConnection(strCon)
C#
String strCon = Dim strCon as String strCon = @”Data Source=NOTEBOOK\SQLEXPRESS;Initial Catalog=MASTER;” + “Integrated Security=True;Connect Timeout=2″; SqlConnection objConnection = new SqlConnection(strCon);
Como abrir, ver o estado e fechar uma conexão:
Visual Basic
… Dim estado as String estado = objConnection.State.ToString() ”estado da conexão antes de abrí-la objConnection.Open() ”abre a conexão estado = objConnection.State.ToString() ”estado da conexão após abrí-la objConnection.Close() ”fecha a conexão
C#
… String estado = objConnection.State.ToString(); //estado da conexão antes de abrí-la objConnection.Open(); //abre a conexão estado = objConnection.State.ToString(); //estado da conexão após abrí-la objConnection.Close(); //fecha a conexão
Baixe aqui um aplicativo exemplo em VB.NET ou C#.





15/05/2008 at 3:39
[...] xxxConnection - Estabelece uma conexão entre o programa e o SGBD. Pode usar uma Transaction; [...]
15/05/2008 at 23:02
Muito bom este post…e comparando as linguagens fica mais claro que C# ao meu ver ?uito melhor que vb.net
VLw pela ajuda!!!
22/05/2008 at 21:30
Eai Agnaldo…firmeeee
Ai manda uns post de Arrays feito em c# pra mim…
Abraços
22/05/2008 at 21:32
agnaldo = DIABONALDO hehehhe
ai preciso de uma ajuda sua,,,,, se vc conhecer alguem que programe em c# e que esta sem trampo me da um toque….preciso de indicações para minha empresa..
abraços.
3/07/2008 at 10:43
[...] o assunto nesse post. Aqui falei sobre a classe Connection e aqui sobre a classe ConnectionStringBuilder. Depois foi a vez do [...]