15 05 2008

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#.

conexao.gif

5 Respostas para “ADO.NET 2.0 - classe Connection”

  •  

    [...] xxxConnection - Estabelece uma conexão entre o programa e o SGBD. Pode usar uma Transaction; [...]

  • 2
    Pedro Henrique Escreveu:

    Muito bom este post…e comparando as linguagens fica mais claro que C# ao meu ver ?uito melhor que vb.net

    VLw pela ajuda!!!

  • 3
    Daniel Soares Escreveu:

    Eai Agnaldo…firmeeee
    Ai manda uns post de Arrays feito em c# pra mim…
    Abraços

  • 4
    Daniel Soares Escreveu:

    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.

  • 5
    Banco de Códigos » Blog Archive » ADO.NET 2.0 - class DataTable (Pingback) Escreveu:
     

    [...] o assunto nesse post. Aqui falei sobre a classe Connection e aqui sobre a classe ConnectionStringBuilder. Depois foi a vez do [...]

Comente