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

Responder a