listo, muchas gracias por responder....
tengo una dudita similar,
si lo que deseo hacer es una consulta como esta:
si el código es igual a "23" y el nombre es igual a "pepe" y su ciudad
es "usa" como podría hacerla con varios parámetros?, ahora solo se
hacerla solo con una,, pero si son varios como podría hacerlo?
qry = NHSession.CreateQuery("from XXX where codigo=:codigo &&
nombre=:nombre && ciudad=:ciudad")
SetParameter(("codigo", tal, ("nombre", pepe), ("ciudad", usa)))

quisiera hacer algo asi pero no se como hacerlo
muchas gracias ppor su ayuda



On 21 mayo, 12:40, Diego Mijelshon <[email protected]> wrote:
> OK. El siguiente paso es dejar de concatenar strings y usar consultas
> parametrizadas. También podes eliminar los operadores redundantes:
>
> qry = NHSession.CreateQuery("from XXX where codigo=:codigo")
> .SetParameter("codigo", tal);
>
>    Diego
>
> 2010/5/21 ccmmasi <[email protected]>
>
>
>
>
>
> > hola, ya encontra la solucion, muchas gracias por responder Diego y
> > Carlos.
> > siguiendo sus consejos y consultando quedo asi:
>
> > public static XXX filtrar(string tal)
> > {
> >    XXX depto;
> >     using(NHibernate.ISession NHSession=
> >     SessionFactory.GetNewSession())
> >     {
> >            NHibernate.IQuery qry=NHSession.CreateQuery("Select u from
> > XXX as u where u.codigo=' " + tal + " ' ");
> >           departamento = qry.List<XXX>()[0];
> >     }
> >      return depto
> > }
>
> > muchas gracias
>
> > On 20 mayo, 15:13, Carlos Cocom <[email protected]> wrote:
> > > Hola cristian
>
> > > Como dice Diego en el método CreateCriteria estas intentado pasarle tu HQ
> > y
> > > eso es incorrecto
>
> > > Ahora recuerda que HQL significa que en el from se espera el nombre de
> > una
> > > entidad por ejemplo en tu almacen de datos tienes un espacio llamado
> > > tbPaises y ahora en tu aplicacion creaste una entidad llamada GES_PAISES
> > a
> > > la hora de hacer tu recuperación de datos tienes que poner algo como
>
> > > * NHibernate.IQuery qry =NHSession.CreateQuery("from GES_PAISES as u
> > > where u.CODDIVISIONPOLITICA= :divpol");*
> > > * qry.SetString("divpol", CodigoPais);*
> > > *
> > > *
> > > *IList<GES_PAISES> paises = (IList<GES_PAISES>)qry.List();*
>
> > > Saludos
>
> > > El 20 de mayo de 2010 13:03, Diego Mijelshon <[email protected]
> > >escribió:
>
> > > > Le estás pasando HQL a CreateCriteria. Cambialo por CreateQuery.
> > > > Tengo muchísimas cosas más para decir sobre ese código... pero empezá
> > por
> > > > eso.
>
> > > >    Diego
>
> > > > 2010/5/20 ccmmasi <[email protected]>
>
> > > > Hola, muy buenos dias
> > > >> Mi nombre es Cristian y estoy trabajando con NHibernate, Asp y Oracle.
> > > >> He llenado un DropDownList con datos de una tabla asi:
>
> > > >>        DDLPaisesAgregados.DataSource =
> > > >> Ges_PaisesService.GetTodosPaises();
> > > >>        DDLPaisesAgregados.DataTextField = "NOMBRE";
> > > >>        DDLPaisesAgregados.DataValueField = "CODDIVISIONPOLITICA";
> > > >>        DDLPaisesAgregados.DataBind();
>
> > > >> la funcion GetTodosPaises es esta:
>
> > > >> public static IList<GES_PAISES> GetTodosPaises()
> > > >>        {
> > > >>            IList<GES_PAISES> paises;
>
> > > >>            using (NHibernate.ISession NHSession =
> > > >> SessionFactory.GetNewSession())
> > > >>            {
> > > >>                NHibernate.ICriteria qry =
> > > >> NHSession.CreateCriteria(typeof(GES_PAISES));
> > > >>                paises = qry.List<GES_PAISES>();
> > > >>            }
> > > >>            return paises;
> > > >>        }
>
> > > >> a este pais le deseo añadir un departamento, como una division
> > > >> politica, entonces al añadir el departamento debo tomar el codigo del
> > > >> pais, para lo cual selecciono del anterior dropdown el pais al cual va
> > > >> a pertenecer el departamento.
> > > >> he hecho un filtro que se supone me encuentra el pais con su codigo,
> > > >> es este:
>
> > > >> public static GES_PAISES FiltrarPais(string CodigoPais)
> > > >>        {
> > > >>            IList<GES_PAISES> paises;
> > > >>            GES_PAISES pais;
> > > >>            using (NHibernate.ISession NHSession =
> > > >> SessionFactory.GetNewSession())
> > > >>            {
> > > >>                NHibernate.ICriteria qry =
> > > >> NHSession.CreateCriteria("Select u from GES_PAISES as u where
> > > >> u.CODDIVISIONPOLITICA={0}", CodigoPais);
> > > >>                paises = qry.List<GES_PAISES>();
> > > >>                pais = paises as GES_PAISES;
> > > >>            }
> > > >>            return pais;
> > > >>        }
>
> > > >> pero me sale un error que dice :
> > > >> No persister for: Select u from GES_PAISES as u where
> > > >> u.CODDIVISIONPOLITICA={0}
>
> > > >> mi pregunta es como puedo hacer el select en nhibernate, espero me
> > > >> puedan ayudar.
> > > >> pdta: porfa, no sean muy duros conmigo, estoy empezando, si lo estoy
> > > >> haciendo mal me dicen pero comprendiendo que no todos saben como
> > > >> ustedes pueden llegar a saber, si el tema no es del todo de nhibernate
> > > >> me disculpo.
> > > >> espero me puedan ayudar
>
> > > >> --
> > > >> Para escribir al Grupo, hágalo a esta dirección:
> > > >> [email protected]
> > > >> Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> > > >  --
> > > > Para escribir al Grupo, hágalo a esta dirección:
> > > > [email protected]
> > > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> > > --
> > > Para escribir al Grupo, hágalo a esta dirección:
> > [email protected]
> > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> > --
> > Para escribir al Grupo, hágalo a esta dirección:
> > [email protected]
> > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> --
> Para escribir al Grupo, hágalo a esta dirección: 
> [email protected]
> Para más, visite:http://groups.google.com/group/NHibernate-Hispano

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a