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

Responder a