Re: ayuda con postgres y c#

From: "Yoel Mc Lennan" <listas(at)yoel(dot)com(dot)ar>
To: Manuel Sánchez Tirado Calderón <manuelstc(at)gmail(dot)com>, <jmdc_marcelo(at)yahoo(dot)com(dot)ar>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ayuda con postgres y c#
Date: 2008-11-05 19:35:56
Message-ID: 011c01c93f7d$ba8ec370$8202a8c0@pcesc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Por si les sive, nosotros utilizamos Corelab Postgresqldirect, es un control simple d usar, se integra al IDe de VS y se puede usar con las librerias Enterprise Library de microsoft lo que permite usar SP de manera simple y hacerlo compatible con otros motores (admás de otros beneficios, como no acceder a la base mediante Select (manejando correctamnt los permisos y demás)

Saludos.

Yoel.

ejemplo simple sin captura de errores

public static int Insert(string razon_social,string direccion,int id_pais,int id_ciudad,string localidad,string cod_postal,string telefono,string fax,string mail,string cuit,int id_tipo_iva,int id_dominio,string requisito_gral,string codigo,string contacto,Boolean enviarsms,Boolean enviarmail,string observaciones,int id_cliente_tipo,string celular,string IB,int app_id_menu, int app_id_usuario)

{

// Agrega un registro

Database db = DatabaseFactory.CreateDatabase("ConnPgCore"); //string de conexión (Postgresql, Oracle, Mysql, SQLServer, etc)

DbCommand dbCommand = db.GetStoredProcCommand("public.cliente_insert");

db.AddParameter(dbCommand,"l_razon_social", DbType.String, ParameterDirection.Input,"l_razon_social", DataRowVersion.Current, razon_social);

db.AddParameter(dbCommand,"l_direccion", DbType.String, ParameterDirection.Input,"l_direccion", DataRowVersion.Current, direccion);

db.AddParameter(dbCommand,"l_id_pais", DbType.Int32, ParameterDirection.Input,"l_id_pais", DataRowVersion.Current, id_pais);

db.AddParameter(dbCommand,"l_id_ciudad", DbType.Int32, ParameterDirection.Input,"l_id_ciudad", DataRowVersion.Current, id_ciudad);

db.AddParameter(dbCommand,"l_localidad", DbType.String, ParameterDirection.Input,"l_localidad", DataRowVersion.Current, localidad);

db.AddParameter(dbCommand,"l_cod_postal", DbType.String, ParameterDirection.Input,"l_cod_postal", DataRowVersion.Current, cod_postal);

db.AddParameter(dbCommand,"l_telefono", DbType.String, ParameterDirection.Input,"l_telefono", DataRowVersion.Current, telefono);

db.AddParameter(dbCommand,"l_fax", DbType.String, ParameterDirection.Input,"l_fax", DataRowVersion.Current, fax);

db.AddParameter(dbCommand,"l_mail", DbType.String, ParameterDirection.Input,"l_mail", DataRowVersion.Current, mail);

db.AddParameter(dbCommand,"l_cuit", DbType.String, ParameterDirection.Input,"l_cuit", DataRowVersion.Current, cuit);

db.AddParameter(dbCommand,"l_id_tipo_iva", DbType.Int32, ParameterDirection.Input,"l_id_tipo_iva", DataRowVersion.Current, id_tipo_iva);

db.AddParameter(dbCommand,"l_id_dominio", DbType.Int32, ParameterDirection.Input,"l_id_dominio", DataRowVersion.Current, id_dominio);

db.AddParameter(dbCommand,"l_requisito_gral", DbType.String, ParameterDirection.Input,"l_requisito_gral", DataRowVersion.Current, requisito_gral);

db.AddParameter(dbCommand,"l_codigo", DbType.String, ParameterDirection.Input,"l_codigo", DataRowVersion.Current, codigo);

db.AddParameter(dbCommand,"l_contacto", DbType.String, ParameterDirection.Input,"l_contacto", DataRowVersion.Current, contacto);

db.AddParameter(dbCommand,"l_enviarsms", DbType.Boolean, ParameterDirection.Input,"l_enviarsms", DataRowVersion.Current, enviarsms);

db.AddParameter(dbCommand,"l_enviarmail", DbType.Boolean, ParameterDirection.Input,"l_enviarmail", DataRowVersion.Current, enviarmail);

db.AddParameter(dbCommand,"l_observaciones", DbType.String, ParameterDirection.Input,"l_observaciones", DataRowVersion.Current, observaciones);

db.AddParameter(dbCommand,"l_id_cliente_tipo", DbType.Int32, ParameterDirection.Input,"l_id_cliente_tipo", DataRowVersion.Current, id_cliente_tipo);

db.AddParameter(dbCommand,"l_celular", DbType.String, ParameterDirection.Input,"l_celular", DataRowVersion.Current, celular);

db.AddParameter(dbCommand, "l_ib", DbType.String, ParameterDirection.Input, "l_ib", DataRowVersion.Current,IB);

db.AddParameter(dbCommand,"l_app_id_menu", DbType.Int32, ParameterDirection.Input,"l_app_id_menu", DataRowVersion.Current, app_id_menu );

db.AddParameter(dbCommand,"l_app_id_usuario", DbType.Int32, ParameterDirection.Input,"l_app_id_usuario", DataRowVersion.Current, app_id_usuario );

using (DbConnection cnn = db.CreateConnection())

{

cnn.Open();

DbTransaction tran = cnn.BeginTransaction();

try

{

IDataReader idr;

idr = db.ExecuteReader(dbCommand, tran);

tran.Commit();

idr.Read();

int id = Convert.ToInt16(idr.GetValue(0));

return id;

}

catch (Exception ex)

{

tran.Rollback();

return -1;

}

finally

{

cnn.Close();

}

}

}

----- Original Message -----
From: Manuel Sánchez Tirado Calderón
To: jmdc_marcelo(at)yahoo(dot)com(dot)ar ; pgsql-es-ayuda(at)postgresql(dot)org
Sent: Wednesday, November 05, 2008 11:04 AM
Subject: Re: [pgsql-es-ayuda] ayuda con postgres y c#

Marcelo,
Ojala puedas poner a disposición el procedimiento para el uso de ese control Npgsql en una conexion de VS a Postgres, ademas de como mostrar los datos de un query en un DATAGRID.

Te agradesco por la ayuda

2008/11/4 marcelo Cortez <jmdc_marcelo(at)yahoo(dot)com(dot)ar>

Gente

Gracias por responder, pero ya lo solucione. y voy a decir como, para el resto del universo, Npgsql es un control dot net realizado para postgres integrado al ide de VS, tambien podria poner algo de codigo pero no lo tengo a mano.asi que si lo necesitan avisen
saludos y gracias
mdc

--- El mar 4-nov-08, Juan Ramirez <juanrmiranda(at)hotmail(dot)com> escribió:

> De: Juan Ramirez <juanrmiranda(at)hotmail(dot)com>
> Asunto: RE: [pgsql-es-ayuda] ayuda con postgres y c#
> Para: "PostGreSQL Lista de Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
> Fecha: martes, 4 de noviembre de 2008, 6:51 pm

> > Date: Tue, 4 Nov 2008 11:13:41 -0800
> > From: jmdc_marcelo(at)yahoo(dot)com(dot)ar
> > Subject: [pgsql-es-ayuda] ayuda con postgres y c#
> > To: pgsql-es-ayuda(at)postgresql(dot)org
> >
> > Gente
> >
> > Estoy tratando de hacer una dataGridView con Vs 2008 y
> postgres. en verdad la ventana tiene un texto e intento
> hacer una busqueda incremental o filtro
> > me podrian ayudar.?
> > como conecto?
> > que tengo qe cargar?
> > codigo de ejemplo sera agradecido ;)
> >
> > saludos
> >
> > mdc
>
> Disculpa Marcelo, pero no entiendo cual es tu problema, leo
> que querés hacer una busqueda, pero cuando dices "como
> conecto?" me confundo en suponer si ya puedes
> conectarte a PostGreSQL desde c# ...
>
> Pregunto: ya podes establecer una conexión a PostGreSQL
> desde c#, ya podes cargar los datos al gridView ?¿
>
> _________________________________________________________________
> Discover the new Windows Vista

> http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE

Yahoo! Cocina
Recetas prácticas y comida saludable
http://ar.mujer.yahoo.com/cocina/
--

TIP 8: explain analyze es tu amigo

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Ramirez 2008-11-05 20:12:22 RE: Necesito ayuda con PostgreSQL
Previous Message Moises Alberto Lindo Gutarra 2008-11-05 19:34:29 Re: Mantenimiento