Acessando PostgreSQL com VB.NET via NpgSQL
Por: Marcus Sá E-mail: sa.marcus@hotmail.com |
Desenvolvedor de sistemas web na plataforma.NET com uso de Ajax, Infragistics entre outros e Ruby On Rails, trabalha com banco de dados PostgreSQL, SQL Server e MySQL. Cursando o Segundo semestre do curso tecnólogo em Analise e Desenvolvimento de Software - Ênfase na Gestão da Qualidade de Processos. Interessado em tecnologias de desenvolvimento e teste e aplicações de metodologias que aumente a qualidade e produtividade dos serviços prestados na área de TI. Mantém um blog no qual fala sobre tecnologia: http://www.sa-marcus.blogspot.com/. |
Uma das maneiras mais rápidas de acesso ao banco de dados PostgreSQL (http://www.postgresql.org.br) é o NpgSQL (http://gborg.postgresql.org/project/npgsql/) O NpgSQL é um .Net Data Provider feito para o acesso ao PostgreSQL escrito em C#, ele possui um mecanismo de pool de conexões, o pool de conexões por sua vez otimiza o acesso aos dados através de uma melhor utilização das conexões feitas com o banco de dados. Bom, chega de tanta teoria e mãos a massa: Primeiro vamos criar as tabelas e fazer o inserts Criando as tabela. Presumindo que você conheça o básico do SQL ai está uma tabela na qual trabalharemos neste artigo. CREATE TABLE usuarios ( Login varchar(12) NOT NULL UNIQUE, Senha VARCHAR(12) NOT NULL, Nome VARCHAR(100), DataUltimoAcesso date, QuantidadeAcessos int, PRIMARY KEY(login) ) WITH OIDS; Após executar o script de criação das tabelas vamos a criação dos registros. INSERT INTO usuarios (Login, Senha, Nome, DataUltimoAcesso, QuantidadeAcessos) VALUES ('marcus', 'mar', 'Marcus Sá', CURRENT_DATE, 0); INSERT INTO usuarios (Login, Senha, Nome, DataUltimoAcesso, QuantidadeAcessos) VALUES ('carla', 'car', 'Carla Garcia', CURRENT_DATE, 0); INSERT INTO usuarios (Login, Senha, Nome, DataUltimoAcesso, QuantidadeAcessos) VALUES ('fabio', 'fab', 'Fábio Sá', CURRENT_DATE, 0); INSERT INTO usuarios (Login, Senha, Nome, DataUltimoAcesso, QuantidadeAcessos) VALUES ('elaine', 'ela', 'Elaine Beatriz', CURRENT_DATE, 0); Pronto, tabela criada com alguns registros para serem consultados(neste primeiro artigo comentaremos apenas consulta ao PostgreSQL, aguarde os próximos) vamos ao código vb.net, tentei comentar o máximo que pude este código espero que ele ajude bastante! 'Importa o Npgsql que está na pasta bin Imports Npgsql Imports System.Data Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' Declara e atribui a string de conexão Dim Conexao As String = "Server=localhost;Port=5432;User Id=postgres;Password=0000;Database=teste" 'Instancia NpgsqlConnection na variavel conn Dim conn As NpgsqlConnection = New NpgsqlConnection(Conexao) Try ' Abre a conexão conn.Open() 'Declara e atribui a Query Dim SQL As String = "Select * From Clientes" 'Instancia o NpgsqlDataAdapter que é responsavel pela comunicação isto significa efetuar a 'leitura dos dados de um banco de dados e preencher um dataset, efetuar a manutenção de 'dados e, em seguida, escrever de volta no banco de dados com as informações atualizadas do 'dataset. Na verdade, um data adapter pode mover dados entre qualquer fonte de dados e um 'dataset. Dim da As Npgsql.NpgsqlDataAdapter = New NpgsqlDataAdapter(SQL, conn) 'Instacia um DataSet Dim ds As DataSet = New DataSet() 'Popula o DataAdapter com o que retornou do DataSet da.Fill(ds, "Clientes") 'Atribiu um Datasource a Grid GridView1.DataSource = ds.Tables("Clientes").DefaultView 'Aciona a leitura da fonte de dados GridView1.DataBind() Catch ex As Exception Finally conn.Close() End Try End Sub End Class Resultado:
Comentários