abr 10, 2010

Enviado por en .NET, Programacion

Conectar c# (.NET) con postgresql

nuqneH!!!
Después de tiempo sin escribir para el blog, trataremos el tema de conectar .NET con postgresql. Para este caso lo haré con npgsql , pero que demonios es npgsql? de la boca de sus propios autores: “is a .Net Data Provider for Postgresql. It allows any program developed for .Net framework to access database server. It is implemented in 100% C# code.”.

Que necesitamos? Lo primero es descargarnos npgsql, y lo haremos trasladandonos hasta la sección de descargas, en la sección de descargas bajaremos el que nos sirva, yo como uso visual studio (evidentemente bajo windows) baje Npgsql2.0.8-bin-ms.net.zip pero pueden bajarse una versión para mono o directamente bajarse las fuentes. Hecho esto descomprimimos la carpeta en el directorio de nuestro proyecto y nos iremos a visual studio y en el proyecto abriremos:
Proyecto -> Agregar Referencia -> Examinar
y ahi escogeremos el conector Npgsql.dll con eso debería ser suficiente para que ya el conector este listo para ser usado. Haremos un test.

Abriremos la consola de postgres y crearemos una base de datos, la llamare test, y una tabla para probar la llamaremos kernelerror.

CREATE TABLE kernelerror (name char(30), about char(30));

Tenemos la tabla ya lista ahora haremos la conexión, yo cree un form y en el form_load hago la conexión que me va a servir para usar en todo el formulario, pueden hacer esto o pueden crearla externa asi les va a servir para cualquier form etc Debemos crear primero el objeto NpgsqlConnection.

private NpgsqlConnection cnn;

luego pasarle la string donde describa el servidor, clave, etc

private void Form1_Load(object sender, EventArgs e)
{
     cnn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=12345;Database=test;Encoding=UTF8");
}

mostrare un pequeño ejemplo de como insertar datos en la tabla cree dos textBox y cada uno de ellos representa el campo de la tabla, quedaría asi:

 private void button1_Click(object sender, EventArgs e)
{
     cnn.Open();
     NpgsqlCommand _query = new NpgsqlCommand("INSERT INTO kernelerror (name, about) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "')", cnn);
     _query.ExecuteNonQuery();
     cnn.Close();
}

para información detallada pueden ir a la documentacion oficial que brinda la misma página.

    Posts Relacionados

    Menciones/Notificaciones

    1. Kernel Error | Autocomplete ComboBox en c# - [...] pero pues ya .net provee funcionalidad para esto. Recordemos un post anterior donde conectabamos c# con postgresql y usaremos ...

    Dejar una respuesta

    Debes ser Alojarse para enviar un comentario.