From: | "Frank Jonislla" <frank(dot)che88(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Fwd: Parametros con funciones desde vb.net |
Date: | 2007-01-05 15:10:41 |
Message-ID: | 6436a9350701050710s44734bfbof10439f64d08519e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Bueno Jeferson tu procedimiento mejor dicho tu parametro es de tipo char y
tu lo estas llamando con dos caracteres "KK" lo cual ya deja de ser un
parametro de tipo char convirtiendose en uno de tipo text o var para la cual
no tienes ninguna definicion en tu base de datos, por eso te dice que el
procedimiento o funcion no existe.
El día 5/01/07, Jeferson Alvarez <jalvarez(at)renova(dot)com(dot)pe> escribió:
>
> 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
>
--
.~.
( 0 0 )
/ V \
// \\ Frank Jonislla Pillaca
/(( _ ))\ AYACUCHO
oo0 0oo 9700982
From | Date | Subject | |
---|---|---|---|
Next Message | Jeferson Alvarez | 2007-01-05 15:11:52 | Cuando llevan comillas los parametros |
Previous Message | Frank Jonislla | 2007-01-05 15:03:01 | Re: Ayuda! |