Re: Fwd: Parametros con funciones desde vb.net

From: Jeferson Alvarez <jalvarez(at)renova(dot)com(dot)pe>
To: Frank Jonislla <frank(dot)che88(at)gmail(dot)com>, ayuda postgre <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fwd: Parametros con funciones desde vb.net
Date: 2007-01-05 13:08:47
Message-ID: 459E4DDF.7020307@renova.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

algomas frank cuando le quito el @ en el mensaje me dice que la columna
no existe y hace referencia a "ss"

Frank Jonislla escribió:
>
>
> ---------- Forwarded message ----------
> From: *Frank Jonislla* <frank(dot)che88(at)gmail(dot)com
> <mailto:frank(dot)che88(at)gmail(dot)com>>
> Date: 04-ene-2007 21:54
> Subject: Re: [pgsql-es-ayuda] Parametros con funciones desde vb.net
> <http://vb.net>
> To: Jeferson Alvarez <jalvarez(at)renova(dot)com(dot)pe
> <mailto:jalvarez(at)renova(dot)com(dot)pe>>
>
> Bueno No soy bueno para contestar pero aca esta mi aporte.
> los procedimientos almacenados en postgres son de este tipo:
> nombre del procedimiento ( lista de parametros )
> nombre_procedimiento (a,b,c) ya que postgres no reconoce parametros
> anonimos.
> el contructor que utilizas tiene como parametros (valor, tipo de dato);
> NpgsqlParameter() este constructor tiene varias sobrcargas
> usa el siguiente NpgsqlParameter("SS",_valor_del_parametro) donde
> valor del parametro puede ser un string, entero u otro puesto que
> Npgsql le pone el tipo adecuado.
>
>
> a mi parecer esta seria la forma correcta de hacer tu llamada.
> Dim cmdNQ As New Npgsql.NpgsqlCommand("BICH(SS)", cnn)
> cmdNQ.Parameters.Add(New NpgsqlParameter("SS",_valor_del_parametro))
>
> o esta, no estoy seguro si va el arroba.
> Dim cmdNQ As New Npgsql.NpgsqlCommand("BICH(@SS)", cnn)
> cmdNQ.Parameters.Add(New NpgsqlParameter("SS",_valor_del_parametro))
>
>
>
> pero yo uso c#
> y usar esa forma no seria muy conveniente si utilizas una funcion
> para llamra a procedimientos almacenados con parametros variables por
> eso yo utilizo esta forma si te sirve.
>
> public System.Data.DataSet TraerDataset(string
> ProcedimientoAlmacenado,params System.Object[] Args)
> {
> System.Data.DataSet mDataSet = new System.Data.DataSet();
> //iniciar transaccion
> this.CrearDataAdapter(ProcedimientoAlmacenado,
> Args).Fill(mDataSet);
> return mDataSet;
>
> }
>
>
>
> /// <summary>
> /// Carga los parametros del procedimiento almacenado
> /// </summary>
> /// <remarks>
> /// Inherited method from base class gDatos
> ///
> /// </remarks>
> /// <param name='Comando'>Comando que ejecuta el procedimiento
> almacenado</param>
> /// <param name='Args'>Parametros que van al rocedimiento
> almacenado</param>
> protected override void
> CargarParametros(System.Data.IDbCommand Comando, params object[] Args)
> {
>
> for(int i=0;i<Args.Length;i++)
> {
>
> //Convert.ToChar(97+i).ToString() = a si i=0
> //nombre del parametro
> // Args[i] -> Valor del parametro
> Comando.Parameters.Add(new
> Npgsql.NpgsqlParameter(Convert.ToChar(97+i).ToString(),Args[i]));
> }
>
> }
>
> /// <summary>
> /// Crea un data adapter paar un procedimiento almacenado
> /// </summary>
> /// <remarks>
> /// Inherited method from base class gDatos
> ///
> /// </remarks>
> /// <param name='ProcedimientoAlmacenado'>Nombre del
> procedimiento almacenado</param>
> /// <param name='Args'>Parametros del procedimieto
> almacenado</param>
> protected override System.Data.IDataAdapter
> CrearDataAdapter(string ProcedimientoAlmacenado, params object[] Args)
> {
> Npgsql.NpgsqlDataAdapter Da=new
> Npgsql.NpgsqlDataAdapter((Npgsql.NpgsqlCommand)
> Comando(ProcedimientoAlmacenado));
> //Npgsql.NpgsqlTransaction t =
> (Npgsql.NpgsqlTransaction)this.Conexion.BeginTransaction();
> if(Args.Length!=0)
> CargarParametros(Da.SelectCommand,Args);
> //t.Commit();
> return (System.Data.IDataAdapter) Da;
>
> }
>
>
>
>
> /// <summary>
> /// crea un comando
> /// </summary>
> /// <remarks>
> /// Inherited method from base class gDatos
> ///
> /// </remarks>
> /// <param name='ProcedimientoAlmacenado'>Nombre del
> procedimiento almacenado</param>
> protected override System.Data.IDbCommand Comando(string
> ProcedimientoAlmacenado)
> {
> Npgsql.NpgsqlCommand Com;
>
> Npgsql.NpgsqlConnection Con2=new
> Npgsql.NpgsqlConnection (this.CadenaConexion);
> Con2.Open();
> Com=new
> Npgsql.NpgsqlCommand(ProcedimientoAlmacenado,Con2);
> Com.CommandType=System.Data.CommandType.StoredProcedure;
> Npgsql.NpgsqlCommandBuilder.DeriveParameters(Com);
> Con2.Close();
> Con2.Dispose();
>
> Com.Connection=(Npgsql.NpgsqlConnection) this.Conexion;
> Com.Transaction= (Npgsql.NpgsqlTransaction) this.mTransaccion;
> return (System.Data.IDbCommand) Com;
>
> }
>
>
> El día 4/01/07, *Jeferson Alvarez* <jalvarez(at)renova(dot)com(dot)pe
> <mailto:jalvarez(at)renova(dot)com(dot)pe>> escribió:
>
> Actualmente lo estoy llamando asi que cambios tengo que realizarle mil
> gracias por la ayuda brindada espero poder retribuirles el favor mas
> adelante
>
> Dim oData As New sgcCachibachesLIB.UTILeeCfg
> Dim cnn As New
> Npgsql.NpgsqlConnection(oData.BuildChainConection.ToString.Trim)
>
> Dim cmdNQ As New Npgsql.NpgsqlCommand("BICH", cnn)
> cmdNQ.CommandType = CommandType.StoredProcedure
> cmdNQ.Parameters.Add(New NpgsqlParameter("SS",
> NpgsqlTypes.NpgsqlDbType.Char))
>
> Dim da As New Npgsql.NpgsqlDataAdapter(cmdNQ)
> Dim dt As New System.Data.DataTable
> da.Fill(dt)
> dg.DataSource = dt
>
>
> yul pg escribió:
> > es igual que un query solo que los parametros van entre parentesis y
> > dependiendo del tipo de parametro lleva comillas simples, los
> > parametros se separan por comas
> >
> > */Jeferson Alvarez <jalvarez(at)renova(dot)com(dot)pe
> <mailto:jalvarez(at)renova(dot)com(dot)pe>>/* escribió:
> >
> > Hola a todos soy nuevo en este interesante y seductor mundo de
> > PostgreSQL gracias por la ayuda de ante mano
> > mi problema es el siguiente estamos probando en VB.Net y
> PosgreSQL y
> > usamos Npgsql para conectarnos he podido
> > ejecutar funciones sin parametros que me devueva un conjunto de
> > registros pero cuando trato de ejecutar una función con
> > parametros enm el mensaje de error mes sale que simplemente no
> > existe la
> > función si alguien pudiera darme una ayudita o indicarme por
> donde
> > debo
> > buscar la solución.
> >
> > ---------------------------(fin del
> > mensaje)---------------------------
> > TIP 7: no olvides aumentar la configuración del "free space map"
> >
> >
> > __________________________________________________
> > Correo Yahoo!
> > Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
> > Regístrate ya - http://correo.yahoo.com.mx/
> >
>
> ---------------------------(fin del
> mensaje)---------------------------
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
>
> http://archives.postgresql.org/pgsql-es-ayuda
>
>
>
>
> --
> .~.
> ( 0 0 )
> / V \
> // \\ Frank Jonislla Pillaca
> /(( _ ))\ AYACUCHO
> oo0 0oo 9700982
>
>
> --
> .~.
> ( 0 0 )
> / V \
> // \\ Frank Jonislla Pillaca
> /(( _ ))\ AYACUCHO
> oo0 0oo 9700982

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message dAnkO Vera 2007-01-05 14:09:36 Re: al importar pasaron comillas en una tabla
Previous Message Jeferson Alvarez 2007-01-05 12:23:01 Re: Ayuda!