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
